2017-03-08 82 views

回答

4

您需要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] 
+0

谢谢你的回答。这个问题也出现在课堂上,我记得更简单的答案,与.str.isin。那也可以用吗? –

+1

@JanKlaas不包含一列列表。 – miradulo

+0

好的,谢谢m8。 Upvoted。 MIAUW –

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] 
相关问题