python - 无法透视 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
解决方案
问题是,我的数据框中已经有索引列,并且枢轴索引对于我的情况不一样。我在熔化时使用了不同的柱子,在旋转时使用了额外的柱子。所以,我需要使用set_index()
并将我的数据透视参数设置为索引。然后它起作用了。
推荐阅读
- javascript - 如何让 Next.js 做 SSR(服务器端渲染)?
- mysql - 查询多个表以查找重复的一对一关系(按来自不同表的多列分组)
- html - 单击时如何使图像转到产品详细信息永久链接?
- javascript - ReactJs链接无法导航到相应的组件
- php - 在 Firebase 存储 php 中更新图像
- c# - 通过接口限制类的暴露
- c - cJSON_Delete(); 导致free():无效指针:0xb5db1e18
- swift - 对讲接口返回带有符号“_”的文本
- java - 使用 java spring boot 在 postgres 中获取和插入数据的通用方法
- python-3.x - 无法在 docker 内的 python 应用程序中使用 asyncio 提高速度