检查Pandas中的元素(列表)中是否包含字符串

时间:2017-03-08 20:34:28

标签: python pandas

我的“朋友”栏目中有一个熊猫数据框。列朋友中的所有元素都是列表对象。列中的一行示例'朋友':

['erik', 'jason', 'eduard']

我想返回一个数据帧,我在其中检查eduard是否为列表。这是我的示例代码:

df[df.friends.isin(['eduard'])

请帮助一只猫

2 个答案:

答案 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]