【发布时间】:2021-11-17 07:29:22
【问题描述】:
我一直在寻找如何合并 2 个日期不等的数据框。每个日期列都是年、月、日、小时列中的整数数据类型。假设 df1 看起来像这样:
site data1 year month day hour
0 A 5.4 2018 01 01 0
1 A 5.1 2018 01 01 1
2 A 3.7 2021 01 01 0
3 A 6.4 2021 01 01 1
4 A 7.5 2021 01 01 2
5 A 3.9 2021 02 01 0
df2 看起来像这样:
site data2 year month day hour
0 A 3.9 2021 01 01 0
1 A 6.0 2021 01 01 1
2 A 7.9 2021 01 01 2
3 A 4.2 2021 02 01 0
4 A 6.8 2021 02 01 1
5 A 7.2 2021 02 01 2
6 A 4.4 2021 02 01 3
而且,我需要 df3 在合并后看起来像这样:
site data1 data2 year month day hour
0 A 3.7 3.9 2021 01 01 0
1 A 6.4 6.0 2021 01 01 1
2 A 7.5 7.9 2021 01 01 2
3 A 3.9 4.2 2021 02 01 0
谢谢。我尝试过的尝试没有达到预期的结果。我已将其作为我的最新尝试进行了尝试,并且由于某种原因,小时数据值从 df1 重复。这是我尝试过的内部合并:
df3 = df2.merge(df1, on=['site','year','month','day','hour'],how='inner')
【问题讨论】:
-
合并的条件是什么?请添加您尝试过的内容以及失败的地方,因为这可能是提供解决方案时的有用指南
-
df1.merge(df2)
标签: pandas date datetime merge