我正在尝试合并这两个 Dataframe ,并保留所有的行和列。它们在"时间"列下有不同的时间,所以我希望它们以时间顺序的方式合并。
DF1:
| 时间|运行标识|重量|
| - ------|- ------|- ------|
| 无|H1|五百|
| 二十四|H1|四百|
| 四十八|H1|三百|
| 无|氢|九百|
| 二十四|氢|八百|
| 四十八|氢|七百|
DF2:
| 时间|运行标识|累加器|
| - ------|- ------|- ------|
| 0.5 |H1|一百|
| 十个|H1|二百|
| 四十|H1|三百|
| 六十|H1|四百|
| 0.5 |氢|九百|
| 五个|氢|一千|
| 三十五|氢|1100年|
| 七十|氢|小行星1200|
如何将这两个表合并为:
| 时间|运行标识|重量|累加器|
| - ------|- ------|- ------|- ------|
| 无|H1|五百||
| 0.5 |H1||一百|
| 十个|H1||二百|
| 二十四|H1|四百||
| 四十|H1||三百|
| 四十八|H1|三百||
| 六十|H1||四百|
| 无|氢|九百||
| 0.5 |氢||九百|
| 五个|氢||一千|
| 二十四|氢|八百||
| 三十五|氢||1100年|
| 四十八|氢|七百||
| 七十|氢||小行星1200|
我试过:
mergedf = df1.merge(df2, how='outer')
但是它将DF1堆叠在DF2的顶部。
3条答案
按热度按时间w6mmgewl1#
一个选项是使用
combine_first
:输出:
g0czyy6m2#
您可以简单地在您已经完成的操作之后添加行:
在此阅读更多信息:https://stackoverflow.com/a/17141755/2650341
bnlyeluc3#
你可以用Pandas的
merge_ordered