【发布时间】:2021-06-19 11:24:12
【问题描述】:
如何使用 Pandas 更新/组合/合并数据框 (df1) 与另一个数据框 (df2) 中的值,其中 df1 有一个新列 (col3) 中的值来自 df2.col2?换句话说,df1 是当前月份的值,我希望 df1 也有一个来自 df2 的列,它是上个月的值。
对此的任何见解表示赞赏;谢谢你。
df1:
| key | date | col1 | col2 |
|---|---|---|---|
| key1 | feb-01 | df1_val01 | df1_val02 |
| key2 | feb-01 | df1_val11 | df1_val12 |
df2:
| key | date | col1 | col2 |
|---|---|---|---|
| key1 | jan-01 | df2_val01 | df2_val02 |
| key2 | jan-01 | df2_val11 | df2_val12 |
所需的df:
| key | date | col1 | col2 | col3 |
|---|---|---|---|---|
| key1 | feb-01 | df1_val01 | df1_val02 | df2_val01 |
| key2 | feb-01 | df1_val11 | df1_val12 | df2_val12 |
【问题讨论】:
-
只需将两者合并即可。
pd.merge(df1, df2[['key', 'col1']].rename(columns={'col1':'col3'}), on='key', how='inner')