【发布时间】:2021-01-10 15:56:44
【问题描述】:
晚上好,
我想知道,比较两个数据帧并返回它们的组合的最佳方法是什么?或者如果 pandas 内部甚至有一个内置函数?
例如,这是我的两个数据框:
数据框 01:
first_name | age | id | value_a | value_b | value_c
peter | 37 | 19 | 4562 | 78 | 21.5
jane | 32 | 5 | 3832 | 85 | 17.0
michael | 43 | 41 | 2195 | 63 | 44.4
数据框 02:
first_name | age | id | value_a | value_b | value_c
sarah | 51 | 2 | 63 | 81 | 4.1
peter | 37 | 19 | 4562 | 81 | 21.5
tom | 22 | 89 | 107 | 14 | 0.0
michael | 43 | 41 | 1838 | 63 | 44.4
如您所见,整个数据框(Dataframe 02)中有一些新条目,并且还列出了一些已经存在的条目 --> 在这些行中进行了一些更改! 我想要实现的是一个新的(?)数据框,其中包含所有新行、已经存在的行和更新的行!在这种情况下:
新数据框
first_name | age | id | value_a | value_b | value_c
peter | 37 | 19 | 4562 | 81 | 21.5
jane | 32 | 5 | 3832 | 85 | 17.0
michael | 43 | 41 | 1838 | 63 | 44.4
sarah | 51 | 2 | 63 | 81 | 4.1
tom | 22 | 89 | 107 | 14 | 0.0
注意事项:
- 总有一个列(这里:'id')可以被视为不变的键
- 行数可能不同
- 列的数量和名称始终保持不变
- 行的顺序并不重要
感谢您的帮助,祝您有个愉快的夜晚!
【问题讨论】:
-
你可以使用
pd.concat,pd.merge
标签: python pandas dataframe compare