熊猫:如何按值过滤列列表?

时间:2019-10-11 22:11:10

标签: python pandas dataframe

我有一个Pandas DataFrame,它在其中一列中存储列表:

>>> import pandas as pd
>>> d = [{'name': 'john', 'properties': ['a','b']},
...      {'name': 'mary', 'properties': ['a','c']}]
>>> df = pd.DataFrame(d)
>>> df
   name properties
0  john     [a, b]
1  mary     [a, c]

如何按列表成员资格进行过滤?例如,列出所有在 properties 列中带有'c'的行。

我知道我可以爆炸 properties 列:

df.explode('properties')

但我希望将其保留为列表。

1 个答案:

答案 0 :(得分:1)

您可以使用map

df[df.properties.map(lambda x: 'c' in x)]