Python 检查Pandas中的元素(列表)中是否包含字符串
我有一个“朋友”专栏的熊猫数据框。列“朋友”中的所有元素都是列表对象。“friends”列中的行示例:Python 检查Pandas中的元素(列表)中是否包含字符串,python,pandas,Python,Pandas,我有一个“朋友”专栏的熊猫数据框。列“朋友”中的所有元素都是列表对象。“friends”列中的行示例: ['erik', 'jason', 'eduard'] 我想返回一个数据帧,在其中检查eduard是否是列表。这是我的示例代码: df[df.friends.isin(['eduard']) 请帮助猫咪脱身您需要应用在这种情况下,请使用中的正常操作符检查列表是否包含eduard: df[df.friends.apply(lambda x: 'eduard' in x)] 例如: 可以使用
['erik', 'jason', 'eduard']
我想返回一个数据帧,在其中检查eduard是否是列表。这是我的示例代码:
df[df.friends.isin(['eduard'])
请帮助猫咪脱身您需要
应用
在这种情况下,请使用中的正常操作符检查列表是否包含eduard
:
df[df.friends.apply(lambda x: 'eduard' in x)]
例如:
可以使用相交集:
In [66]: df
Out[66]:
friends
0 [erik, jason, eduard]
1 [anna, max]
2 [eduard, natali]
In [67]: df[df.friends.map(set) & {'anna','natali'}]
Out[67]:
friends
1 [anna, max]
2 [eduard, natali]
谢谢你的回答。这个问题也出现在课堂上,我记得更简单的答案是.str.isin。这也可以使用吗?@JanKlaas不与列表列一起使用。如果您有一个普通列,并且希望检查列中的项目是否在另一个列表中,则可以使用isin
。如果我有一个列表,并且希望检查字符串中列表中是否有任何项目,该怎么办?
In [66]: df
Out[66]:
friends
0 [erik, jason, eduard]
1 [anna, max]
2 [eduard, natali]
In [67]: df[df.friends.map(set) & {'anna','natali'}]
Out[67]:
friends
1 [anna, max]
2 [eduard, natali]