比较数据帧,只使用不匹配的值



我有两个要比较的数据帧,但只想使用不在两个数据帧中的值。

示例:

DF1:

A    B    C
0    1    2    3
1    4    5    6

DF2:

A    B    C
0    1    2    3
1    4    5    6
2    7    8    9
3    10   11   12

因此,在这个例子中,我想使用行索引2和3([7,8,9]和[10,11,12](。

我目前拥有的代码(仅删除重复项(如下。

df = pd.concat([di_old, di_new])
df = df.reset_index(drop=True)
df_gpby = df.groupby(list(df.columns))
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
print(df.reindex(idx))

我会这么做:

df_n = df2[df2.isin(df1).all(axis=1)]

输出

A   B   C
0   1   2   3
1   4   5   6    

最新更新