【发布时间】:2021-12-14 00:53:23
【问题描述】:
我有 2 个数据框。一个是一个通用的“模板”,其中有一列日期,从现在开始到 4 天后每隔一小时显示一次。另一个 DF 里面有数据,比如纬度和经度,它也有一个日期列,但数据只有每 3 小时一次。我需要合并两个数据帧,以便 df2 中的每个 lat/lon 对都有一个来自 df1 的每小时。
DF1 DF2
Date Shift Latitude Longitude Date Temp
2021-10-18 01:00:00 a1 39.9 -99.3 2021-10-18 18:00:00 34
2021-10-18 02:00:00 a2 39.9 -99.3 2021-10-18 21:00:00 36
..... .............
2021-10-18 21:00:00 b2 39.9 -99.3 2021-10-19 00:00:00 32
预期的最终数据帧
Latitude Longitude Date Shift Temp
39.9 -99.3 2021-10-18 01:00:00 a1 NaN
39.9 -99.3 2021-10-18 02:00:00 a1 NaN
.....
39.9 -99.3 2021-10-18 17:00:00 b2 NaN
39.9 -99.3 2021-10-18 18:00:00 b2 34
39.9 -99.3 2021-10-18 19:00:00 b2 NaN
在 DF2 中,有 3,088 对唯一的纬度/经度对,并且每对独特的对都必须有一个 4 天的日期列,按小时计算。我的最终 DF 应该有 299,536 行。
【问题讨论】:
-
您的预期输出中的
b1来自哪里? -
对不起,它们本来是 b2,它们来自 DF1 原始数据框
-
df2.merge(df1, on='Date', how='outer')? -
这样可以填充 DF1 中的每个日期。然而,DF2 中的每一对纬度/经度在 DF1 中没有每个日期。
标签: python pandas merge unique