0

我有一个像下面这样的数据框

前

我想像下面这样改变它

后

它是双列索引转换,我不介意价格/数量或日期中的哪一个是列索引的第一级。我认为日期是最重要的,并且价格/数量分开,但无法在这里创建这样的表格。它是一个包含大约一百万行和一年中所有日期的数据框,所以你对最有效的代码有什么想法吗?这?空单元格也可以是 0

样本数据

客户识别码 PROD_ID 价格 日期 数量
123 X 1 31-12-20 5
123 X 1 1-1-21 5
123 X 1 2-1-21 7
123 是的 2 2-1-21 11
789 z 5 1-1-21 22
256 一种 4 1-1-21 9
324 b 4 1-1-21 16
789 z 5.5 2-1-21 22
324 一种 4.5 2-1-21 23
324 e 8 2-1-21 3
4

1 回答 1

1

采用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
于 2021-07-08T10:33:49.873 回答