我有 2 个数据帧 df1 和 df2。Df1 包含日期、date_block_num、item_id、item_cnt_day 并具有自动增加的 int 索引。Df2 包含日期为 2013-01-01、2013-01-02 的列,并且索引 item_id,我用零初始化它。我的问题是我希望 df2 在正确的 item_id 和 date 上填充 item_cnt_day 值。df1 也缺少日期,因为有些日子没有售出任何东西。print(df1) date date_block_num item_id item_cnt_day1 2013-01-03 0 2552 1.02 2013-01-05 0 2552 2.03 2013-01-06 0 2554 1.04 2013-01-15 0 2555 5.05 2013-01-10 0 2564 1.06 2013-01-02 0 2565 4.07 2013-01-04 0 2572 1.0[186104 rows x 4 columns]print(df2) 2013-01-01 2013-01-02 ... 2015-10-30 2015-10-315652 0 0 ... 0 013071 0 0 ... 0 05671 0 0 ... 0 05672 0 0 ... 0 06675 0 0 ... 0 01514 0 0 ... 0 02331 0 0 ... 0 04271 0 0 ... 0 0[198 rows x 1034 columns]
1 回答

呼啦一阵风
TA贡献1802条经验 获得超6个赞
我相信你需要pivot
使用reindex
,如果第二数据帧由填充0
只:
df = (df1.pivot('item_id','date','item_cnt_day') .reindex(index=df2.index, columns=df2.columns) .fillna(0))
添加回答
举报
0/150
提交
取消