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]