【发布时间】:2018-03-22 04:23:41
【问题描述】:
我有一个分组数据框,如下所示:
Date ID Name Category Group Amount
2018-02-28 123 ABC Fruits INT 22345
2018-02-28 456 JFGT Veg FEE 56789
2018-02-28 5687 AST Seeds FEE 4567
2018-02-28 5687 AST Seeds INT 236
.............
.............
2018-03-31 123 ABC Fruits INT 790
2018-03-31 456 JFGT Veg FEE 35637
2018-03-31 5687 AST Seeds FEE 4567
2018-03-31 5687 AST Seeds INT 236
.............
.............
我基本上需要按 Group 和 Date 列取消堆叠金额以创建类似的内容:
ID Name Category INT_2018-02 INT_2018-03 FEE_2018-02 FEE_2018-03
123 ABC Fruits 22345 790
456 JFGT Veg 56789 35637
5687 AST Seeds 4567 4567
5687 AST Seeds 236 236
.............
.............
它本质上是一个unstack。 我可以通过
对 Group 进行正常的unstack df = df.set_index(['Date','ID','Name','Category','Group'])['Amount'].unstack().reset_index()
但是,我不确定如何使用 Date 或将两列用于 unstack 方法。 请指教。
【问题讨论】:
-
如何连接
Group和Date,使新列成为索引,然后取消堆叠? -
这是个不错的选择,我怎么没想到:)
-
其实,你需要的是pivot,而不是unstack。我会发布它作为答案。
标签: python pandas multi-level