我的代码如下:
ex1 = sym('a')
ex2 = parse_expr('a')
当我运行它时,我收到错误"' str'没有属性' loc'"。好像它告诉我,我不能在数据帧上使用loc。我想要做的就是更换价值,所以如果有更简单的方法,我都是耳朵。
答案 0 :(得分:1)
我建议使用df.replace
:
df = df.replace({'c_df':{'Korea, Rep.':'South Korea'}})
上面的代码仅在Korea, Rep.
列中将South Korea
替换为c_df
。看一下df.replace
documentation,它解释了我上面使用的嵌套字典语法:
嵌套词典,例如{'a':{'b':nan}},如下所示:在列'a'中查找值'b'并将其替换为nan。您也可以嵌套正则表达式。请注意,列名(嵌套字典中的顶级字典键)不能是正则表达式。
示例强>:
# Original dataframe:
>>> df
c_df whatever
0 Korea, Rep. abcd
1 x abcd
2 Korea, Rep. abcd
3 y abcd
# After df.replace:
>>> df
c_df whatever
0 South Korea abcd
1 x abcd
2 South Korea abcd
3 y abcd
答案 1 :(得分:1)
只做
c_df.loc[c_df['Country'] == ('Korea, Rep.')] = 'South Korea'
而不是
c_df = c_df.loc[c_df['Country'] == ('Korea, Rep.')] = 'South Korea'