【发布时间】:2020-05-19 17:31:54
【问题描述】:
我想在数据框中用"N/A" 替换包含"conference" 和"group" 的单词。
例如
“AAAI 会议”->“N/A”“阿里巴巴集团”->“N/A”
数据框名为name,我尝试了两种方法:
columns=['nameCurrentEmployer',
'name2ndEmployer', 'name3rdEmployer',
'name4thEmployer', 'name5thEmployer',
'name6thEmployer', 'name7thEmployer',
'name8thEmployer', 'name9thEmployer',
'name10thEmployer']
name.loc[name.str.contains(['conference','group'], case=False), columns] = 'N/A'
提示错误AttributeError: 'DataFrame' object has no attribute 'str'
NAMES = pd.Series(name.values.flatten())
NAMES.loc[NAMES.str.contains(['conference','group'], case=False), columns] = 'N/A'
现在错误是
TypeError: unhashable type: 'list'
非常感谢。
【问题讨论】:
-
我建议您改用 pandas str replace 并可能使用包含单词“会议”或“组”的正则表达式
-
你用字符串 'N/A' 做什么?你为什么要做 pd.Series(name.values.flatten()) ?你能分享更多你的程序吗?变量和函数名称应遵循
lower_case_with_underscores样式。始终共享整个错误消息。你没有minimal reproducible example吗? -
另外,这不只是stackoverflow.com/questions/39602824/… 的更糟糕的复制吗?
-
@sammywemmy 谢谢,str 替换工作。