如何过滤熊猫系列



我得到了一个数据帧,一个序列的元素类型是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]))]]

将得到错误

't'对象不可迭代

如何根据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]

最新更新