pandas在双列索引上的转置

kknvjkwl  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(412)

此问题已在此处找到答案

如何透视 Dataframe ((3个答案)
两天前关门了。
我有一个像下面这样的数据框

我想把它转换成下面的样子

这是一个双列索引转换,我不介意价格/数量或日期中的哪一个是列索引的第一级。我认为日期是最重要的,按价格/数量划分,但不能在这里创建这样的表。它是一个数据框,大约有一百万行,一年中的所有日期,所以你知道最有效的代码是什么吗?空单元格也可能是0
样本数据
cidprod_idpricedatequantity123x131-12-205123x11-1-215123x12-1-217123y22-1-211789Z51-1-2122256a41-1-219324b41-1-2116789z5.52-1-2122324a4.52-1-2123324e82-1-213

gz5pxeao

gz5pxeao1#

使用 pandas.pivot_table ```
pd.pivot_table(
df,
values=['PRICE', 'QUANTITY'],
index=['CID', 'PROD_ID'],
columns=['DATE'],
aggfunc=sum
)

输出

PRICE QUANTITY
DATE 1-1-21 2-1-21 31-12-20 1-1-21 2-1-21 31-12-20
CID PROD_ID
123 x 1.0 1.0 1.0 5.0 7.0 5.0
y NaN 2.0 NaN NaN 11.0 NaN
256 a 4.0 NaN NaN 9.0 NaN NaN
324 a NaN 4.5 NaN NaN 23.0 NaN
b 4.0 NaN NaN 16.0 NaN NaN
e NaN 8.0 NaN NaN 3.0 NaN
789 z 5.0 5.5 NaN 22.0 22.0 NaN

相关问题