如何过滤 Pandas 连续剧

How to filter the Pandas serials

我得到了一个dataframe,一个serial的元素类型是list。喜欢:

列[A,B][A][A,C][A,B,C]等

我使用了表达式

df[[ item == [A] for item in df['Column'].tolist()]]

只能过滤掉只包含A的列,但我想把[A,C]也选上。 如果我使用表达式

df[[ item for item in df['Column'].tolist() if set(item).issuperset(set([A]))]]

会报错

'int' object is not iterable

如何按列中包含 A 的条件过滤数据框。谢谢

您可以在 Series 上使用 apply 来检查每个值是否为 A。然后使用布尔索引来过滤数据帧。

import pandas as pd

df = pd.DataFrame({'Column': [['A', 'B'], ['A'], ['A', 'C'], ['A', 'B', 'C']]})

df_ = df[df['Column'].apply(lambda x: 'A' in x)]
print(df_)

      Column
0     [A, B]
1        [A]
2     [A, C]
3  [A, B, C]