我有一个非常大的数据框。我还有一个小数据框。
这两个数据框都将具有相同的列。
小数据框中的一些行已经存在于大数据框中。我想将小数据框附加到大数据框,以便大数据框中没有重复项。
我可以简单地追加,然后删除重复项。但这会导致内存浪费,将重复的数据帧保留在内存中。
有没有其他方法可以有效地解决这个问题。?
数据:
df1 = pd.DataFrame({'a': [1,2,3,4,5,6,7]})
df2 = pd.DataFrame({'a': [3,8,4,9]})
使用合并来获得唯一的行,
df3 = df2.merge(df1, how='left', indicator=True)
a _merge
0 3 both
1 8 left_only
2 4 both
3 9 left_only
现在,选择带有'left_only'
, 的行
df3 =df3[df3._merge == 'left_only'].iloc[:,:-1]
最后,附加它们。
df1 = pd.concat([df1, df3], ignore_index=True)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句