Pandas 熊猫是基于一行的

Pandas 熊猫是基于一行的,pandas,Pandas,现在我有: ss dd list A B [B,E,F] C E [C,H,E] A C [A,D,E] 我想排除ss和dd都在列表中的行。所以我们排除了第二排。函数isin()每次检查ss和dd是否在列表的所有行中,这不会给出结果 请不要使用循环,因为我的数据集太大。 输出应为: ss dd list A B [B,E,F] A C [A,D,E] 首先,我们将您的列表列展平为一个数据帧

现在我有:

ss    dd    list
A     B     [B,E,F]
C     E     [C,H,E]
A     C     [A,D,E]
我想排除ss和dd都在列表中的行。所以我们排除了第二排。函数isin()每次检查ss和dd是否在列表的所有行中,这不会给出结果

请不要使用循环,因为我的数据集太大。 输出应为:

ss    dd    list
A     B     [B,E,F]
A     C     [A,D,E]

首先,我们将您的
列表
列展平为一个数据帧,并使用
isin
(这里
索引
是重要的,这就是为什么我使用原始数据帧
索引
来创建
cdf

cdf=pd.DataFrame(df['list'].tolist(),index=df.index)
mask=(cdf.isin(df.ss).any(1))&(cdf.isin(df.dd).any(1))
df[~mask]
Out[589]: 
  ss dd       list
0  A  B  [B, E, F]
2  A  C  [A, D, E]