【发布时间】:2018-08-30 00:40:33
【问题描述】:
我有困难:
- 合并两个 pandas 多索引数据帧
- 将偏移量传递给合并中的日期时间索引
df1:
date ID Attr_1
12/31/2010 13 A
9 B
1 C
1/31/2011 13 D
9 E
1 F
df2:
date ID Attr_2
12/31/2010 13 -0.124409
9 0.555959
1 -0.705634
1/31/2011 13 0.471078
9 0.276006
1 -0.468463
应将滞后一个月的 Attr_2 合并到 df1。期望的输出:
date ID Attr_1 Attr_2
12/31/2010 13 A nan
9 B nan
1 C nan
1/31/2011 13 D -0.124409
9 E 0.555959
1 F -0.705634
我想使用:
pd.merge(df1, df2['Attr_2'], left_on = ['date', 'ID'],
right_on = [df2.index.date - pd.DateOffset(months = 1), 'ID'],
how='left')
我无法加入“日期”,因为它是两个 dfs 中的索引。我也不能像我所做的那样减去 df2 right_on 的偏移量。
我已尝试在两个 dfs 中重置索引但未成功,然后将偏移量应用于 right_on 参数。
【问题讨论】:
标签: pandas dataframe merge multi-index datetimeoffset