我有一个四列矩阵。我想保留前两列并将后两列转换为一种出现矩阵(但具有相应的值)。我尝试对 ['shop_id', 'item_id', 'date'] 进行分组,但不知道如何为那些空日期填充 0。有人有主意吗?非常感谢
given:
shop_id item_id date sales
0 19 0 1
0 19 2 13
0 19 3 11
1 19 1 3
result:
shop_id item_id date_0 date_1 date_2 date_3
0 19 1 0 13 11
1 19 0 3 0 0
最佳答案
让我们使用set_index
、unstack
和fillna
:
df.set_index(['shop_id','item_id','date'])['sales'].unstack()\
.add_prefix('date_').reset_index().fillna(0).astype(int)
输出:
date shop_id item_id date_0 date_1 date_2 date_3
0 0 19 1 0 13 11
1 1 19 0 3 0 0
关于python - 如何用 pandas 列制作出现矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47825709/