Pandas pivot - ValueError: Index contains duplicate entries, cannot reshape

news/2025/2/4 5:55:11/

pivot()报错

在使用pivot()进行长表转宽表时,会出现如下错误:

ValueError: Index contains duplicate entries, cannot reshape

例:

// For an Example
df = pd.DataFrame({"foo": ['one', 'one', 'two', 'two'],"bar": ['A', 'A', 'A', 'B'],"baz": [1, 2, 3, 4]})
dffoo bar  baz
0  one   A    1
1  one   A    2
2  two   A    3
3  two   B    4df.pivot(index='foo', columns='bar', values='baz')
Traceback (most recent call last):...
ValueError: Index contains duplicate entries, cannot reshape

报错原因:前两行,列 ‘foo’ 和列 ‘bar’ 出现了重复值。

解决方法:

  1. 使用pivot_table()
  2. 删掉重复值
  3. 先聚合再使用pivot()
1、使用pivot_table()
df.pivot_table(index='foo', columns='bar', values='baz')bar	A	 B
foo		
one	1.5	NaN
two	3.0	4.0
2、删掉重复值
df = df.drop_duplicates(['foo','bar'])
df.pivot(index='foo', columns='bar', values='baz')bar	A	B
foo		
one	1.0	NaN
two	3.0	4.0
3、聚合
df_agg = df.groupby(by=['foo', 'bar']).sum().reset_index()
df_agg.pivot(index='foo', columns='bar', values='baz')bar	A	B
foo		
one	1.0	NaN
two	3.0	4.0

http://www.ppmy.cn/news/1171987.html

相关文章

网络流探索:解决网络最大流问题的算法集锦

1.初识网络流 网络流一直是初学者心中很难过去的一道坎,很多人说它是一个不像DFS/BFS那么直观的算法,同时网上也有各种参差不齐的材料,让人感到一知半解。 如果你也有这样的感觉,那么不要灰心,坚持住,因为…

递增的三元子序列

给你一个整数数组 nums &#xff0c;判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k &#xff0c;使得 nums[i] < nums[j] < nums[k] &#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示…

uni-app 小宠物 - 会说话的小鸟

在 template 中 <view class"container"><view class"external-shape"><view class"face-box"><view class"eye-box eye-left"><view class"eyeball-box eyeball-left"><span class"…

文件上传时各配置目录优先级详解

Tomcat配置目录有以下两个 1.spring.servlet.multipart.location&#xff1a;文件上传路径 2.server.tomcat.basedir&#xff1a;配置Tomcat运行日志和临时文件的目录。 如果生产中配置了这两个目录&#xff0c;当上传文件时&#xff0c;他们的优先级是&#xff1f; 当上传文…

代码随想录 Day26 贪心 01 全集 LeetCode455 分发饼干 LeetCodeT346摆动序列 LeetCdoe T53 最大子数组和

前言:贪心无套路 本质: 局部最优去推导全局最优 两个极端 贪心算法的难度一般要么特别简单,要么特别困难,所以我们只能多见识多做题,记住无需数学证明,因为两道贪心基本上毫无关系,我们只需要去思考局部最优即可 贪心的小例子 比如有一堆钞票&#xff0c;你可以拿走十张&#x…

Web APIS——第一天(下)

一、随机轮播图案例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthde…

【原创】【指针】*p++与*++p不同的执行顺序

【核心】※p ※(p) ≠ ※p ※(p1) [※即*] 【易混关注】 ※(p) 与※(p1) →二者执行顺序不同&#xff0c;区分&#xff01; 【说明】※p ※ (p)都是先执行p※&#xff0c;再p&#xff08;即先取值&#xff0c;再指针后移&#xff09;&#xff1b;而 ※p和※&#xff08;p1)是先…

【Python · PyTorch】数据基础

数据基础 1. 数据操作1.1 入门1.2 运算符1.3 广播机制1.4 索引和切片1.5 节省内存1.6 转化为其他Python对象 2. 数据预处理2.1 读取数据集2.2 处理缺失值2.3 转换为张量格式 本文介绍了PyTorch数据基础&#xff0c;Python版本3.9.0&#xff0c;代码于Jupyter Lab中运行&#xf…