首页 > 解决方案 > 无法透视 DataFrame,没有唯一索引

问题描述

我有一个如下所示的数据框。

     ATTR1  ATTR2  ATTR3  UnitType    Value    Date
  0  1       2      3     TotalSales  10       10/2020
  1  1       2      3     Canceled    1        10/2020
  2  1       2      3     Returned    3        10/2020
  3  3       2      1     TotalSales  10       10/2020
  4  3       2      1     Canceled    1        10/2020
  5  3       2      1     Returned    3        10/2020

数据在不同月份继续。我想让每个 attr1-2-3 组合的 Date 只有 1 行,并为每个单元类型创建新列。

我尝试了如下所示的枢轴功能,但它不起作用。

data.pivot(index=['Date', 'ATTR1', 'ATTR2', 'ATTR3'], columns='UnitType', values='Value')

它给出了以下错误。

Length of passed values is 1346544, index implies 4

标签: pythonpython-3.xpandas

解决方案


问题是,我的数据框中已经有索引列,并且枢轴索引对于我的情况不一样。我在熔化时使用了不同的柱子,在旋转时使用了额外的柱子。所以,我需要使用set_index()并将我的数据透视参数设置为索引。然后它起作用了。


推荐阅读