我的“朋友”栏目中有一个熊猫数据框。列朋友中的所有元素都是列表对象。列中的一行示例'朋友':
['erik', 'jason', 'eduard']
我想返回一个数据帧,我在其中检查eduard是否为列表。这是我的示例代码:
df[df.friends.isin(['eduard'])
请帮助一只猫
答案 0 :(得分:5)
在这种情况下,您需要apply
,使用普通in
运算符检查列表是否包含eduard
:
df[df.friends.apply(lambda x: 'eduard' in x)]
实施例:
df = pd.DataFrame({"friends": [['erik', 'jason', 'eduard'], ['erik', 'jason']]})
df[df.friends.apply(lambda x: 'eduard' in x)]
# friends
#0 [erik, jason, eduard]
答案 1 :(得分:1)
你可以使用集合交集:
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]