Pandas 数据帧合并/链接值

我有 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_day

1       2013-01-03               0     2552           1.0

2       2013-01-05               0     2552           2.0

3       2013-01-06               0     2554           1.0

4       2013-01-15               0     2555           5.0

5       2013-01-10               0     2564           1.0

6       2013-01-02               0     2565           4.0

7       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-31

5652            0           0     ...               0           0

13071           0           0     ...               0           0

5671            0           0     ...               0           0

5672            0           0     ...               0           0

6675            0           0     ...               0           0

1514            0           0     ...               0           0

2331            0           0     ...               0           0

4271            0           0     ...               0           0


[198 rows x 1034 columns]


慕盖茨4494581
浏览 138回答 1
1回答

呼啦一阵风

我相信你需要pivot使用reindex,如果第二数据帧由填充0只:df = (df1.pivot('item_id','date','item_cnt_day')          .reindex(index=df2.index, columns=df2.columns)          .fillna(0))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python