【发布时间】:2016-07-13 00:36:38
【问题描述】:
我有一个清单:
things = ['A1','B2','C3']
我有一个 pandas 数据框,其中有一列包含用分号分隔的值 - 一些行将包含与上面列表中的一项匹配(它不会是完美匹配,因为它有其他部分列中的字符串.. 例如,该列中的一行可能有 'Wow;Here;This=A1;10001;0')
我想保存包含与列表中项目匹配的行,然后使用这些选定的行创建一个新的数据框(应该具有相同的标题)。这是我尝试过的:
import re
for_new_df =[]
for x in df['COLUMN']:
for mp in things:
if df[df['COLUMN'].str.contains(mp)]:
for_new_df.append(mp) #This won't save the whole row - help here too, please.
这段代码给了我一个错误:
ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
我对编码很陌生,所以你的答案中的解释和细节越多越好!提前致谢。
【问题讨论】:
-
对于使用多个关键字的部分字符串搜索,我建议查看this answer.