如果行不在数组中的多个数据帧中,如何过滤数据帧?

问题描述 投票:0回答:1

这有效:

df = df[~df.index.isin(df2['path']) & ~df.index.isin(df3['path'])]

如何重写它,而不是硬编码 df2 和 df3,而是需要一个数据帧数组/列表?

类似:

dfs = [df1, df2, df3]
df = df[~df.index.isin(dfX['path'] : dfs, &)]
pandas dataframe lambda
1个回答
0
投票
out = df[~df.index.isin(np.concatenate([d['path'].unique() for d in dfs]))]

或仅使用 pandas 解决方案

out = df[~df.index.isin(pd.concat([d['path'] for d in dfs]))]
© www.soinside.com 2019 - 2024. All rights reserved.