这有效:
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, &)]
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]))]