我有2个大数据框如下:
df1
C1 C2 C3 V1
a e k 1
b f j 2
d g h 3
df2
C1 C2 C3 V1
a e m 21
d g p 1
e f q 2
f g r 3
我想得到以下信息:
C1 C2 C3 V1
a e k 1
b f j 2
d g h 3
e f q 2
f g r 3
我只包含了df2
C1 和 C2 中不存在的行df1
。df2
即我删除了asa, e
中已经存在的第一行df1
。
我在尝试:
df1['id'] = df1[['C1', 'C2']].astype(str).apply('_'.join, axis=1)
df2['id'] = df2[['C1', 'C2']].astype(str).apply('_'.join, axis=1)
df3 = df2[~df2['id'].isin(df1['id'])]
pd.concat([df1, df3])
有没有更好的方法可以使用一些内置函数来做到这一点,因为我经常遇到这种情况,列数不同。
将 df2 附加到 df1 并删除重复项
new=df1.append(df2).drop_duplicates(subset=['C1','C2'],keep='first')
打印(新)
C1 C2 C3 V1
0 a e k 1
1 b f j 2
2 d g h 3
3 e f q 2
4 f g r 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句