我有以下建议:
Q4_1 Q4_2 Q4_3 Q4_4 \
130 far cry 4 NaN NaN NaN
131 grand theft auto Assassins Creed call of duty watch dogs
132 the elder scrolls v the witcher 3 dragon age dark souls
133 Uncharted Call of duty Deadpool Far cry
134 Monster Hunter: World Kingdom Hearts III Darksiders III NaN
135 Fallout 4 NaN NaN NaN
Q4_5 Q4_6 Q4_7 Q4_8 Q4_9 Q4_10
130 NaN NaN NaN NaN NaN NaN
131 NaN NaN NaN NaN NaN NaN
132 fallout assassins creed fallout 3 NaN NaN NaN
133 Grand theft auto NaN NaN NaN NaN NaN
134 NaN NaN NaN NaN NaN NaN
135 NaN NaN NaN NaN NaN NaN
我想用基于列表的唯一标识字符串替换类似字符串。因此,这将是期望的输出:
Q4_1 Q4_2 Q4_3 Q4_4 \
130 far cry 4 NaN NaN NaN
131 grand theft auto Assassin's Creed call of duty watch dogs
132 the elder scrolls v the witcher 3 dragon age dark souls
133 Uncharted Call of duty Deadpool Far cry
134 Monster Hunter: World Kingdom Hearts III Darksiders III NaN
135 Fallout 4 NaN NaN NaN
Q4_5 Q4_6 Q4_7 Q4_8 Q4_9 Q4_10
130 NaN NaN NaN NaN NaN NaN
131 NaN NaN NaN NaN NaN NaN
132 fallout Assassin's Creed fallout 3 NaN NaN NaN
133 Grand theft auto NaN NaN NaN NaN NaN
134 NaN NaN NaN NaN NaN NaN
135 NaN NaN NaN NaN NaN NaN
所以我已经得到了一组可以找到的值:
list_assasins_creed = ['Assasin\'s Creed', 'Assassin\'s Creed', 'Assassins Creed', 'assasins creed', 'assassin\'s creed', 'assassins creed']
此值可以在多列中找到(Q4_1..Q4_9)
我想用《刺客信条》取代那些价值观。 我尝试使用loc:
df_survey_Q4.loc[df_survey_Q4[['Q4_1', 'Q4_2', 'Q4_3', 'Q4_4', 'Q4_5', 'Q4_6', 'Q4_7', 'Q4_8','Q4_9', 'Q4_10']].isin(list_assasins_creed),['Q4_1', 'Q4_2', 'Q4_3', 'Q4_4', 'Q4_5', 'Q4_6', 'Q4_7', 'Q4_8','Q4_9', 'Q4_10']] = 'Assassin\'s Creed'
但我有一个错误:
KeyError: "None of [Index([ ('Q', '4', '_', '1'), ('Q', '4', '_', '2'),\n ('Q', '4', '_', '3'), ('Q', '4', '_', '4'),\n ('Q', '4', '_', '5'), ('Q', '4', '_', '6'),\n ('Q', '4', '_', '7'), ('Q', '4', '_', '8'),\n ('Q', '4', '_', '9'), ('Q', '4', '_', '1', '0')],\n dtype='object')] are in the [index]"
你知道我该怎么做吗
您可以编写这样的代码
您可以这样做:
或
相关问题 更多 >
编程相关推荐