3
我有一个熊猫数据框和'朋友'列。列朋友中的所有元素都是列表对象。 “朋友”列中的一行示例:检查一个字符串是否包含在Pandas中的一个元素(列表)中
['erik', 'jason', 'eduard']
我想返回一个数据帧,其中检查eduard是否是列表。这是我的示例代码:
df[df.friends.isin(['eduard'])
帮助猫出来请
我有一个熊猫数据框和'朋友'列。列朋友中的所有元素都是列表对象。 “朋友”列中的一行示例:检查一个字符串是否包含在Pandas中的一个元素(列表)中
['erik', 'jason', 'eduard']
我想返回一个数据帧,其中检查eduard是否是列表。这是我的示例代码:
df[df.friends.isin(['eduard'])
帮助猫出来请
您需要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]
你可以使用集交集:
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不包含一列列表。 – miradulo
好的,谢谢m8。 Upvoted。 MIAUW –