在pandas的unstack时报ValueError:duplicateentries错误
pandas是python中用于数据分析和处理的一个基于numpy的基本库工具,是从事python语言数据领域的一个基本入门工具,常见用途有:
a提供高级的数据结构和相当丰富的数据操作API
b提高了对复杂矩阵运算的效率(这里的矩阵,目前可简单视作Excel数据表,自己脑补一下)
c提供了数据清洗和处理功能
d帮助数据挖掘挖掘分析
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沾益网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
回归正题:代码如下(环境:anaconda3+python3)
运行代码时:
pandas两个重要的数据结构:Series和DataFrame
对象方法unstack(): Series对象的API,用于将Series的数据类型转DataFrame类型,因为DataFrame提供的数据操作API远远多于Series。(Series视作一维,DataFrame视作高维数据,类比一维数组和高维度数组)
用unstack操作的数据必须唯一标识,而打印obj1如下:
存在重复,unstack不能唯一区分,故转换失败报错ValueError: Index contains duplicate entries, cannot reshape, 解决方式:修改字母索引名或者数字索引,只要能够唯一标识即可,如将重复的1改为2(这里不能为3)或改为字母
将层次索引的外层索引(这里指a,b,c)作为DataFrame的行索引,内层索引(1,2,3....)作为列索引.结果打印如下:
思考一下: 既然Series转DataFrame,可使用unstack()[解包], 那DataFrame转Series用什么方法?
答案: 使用stack() [打包]
本文标题:在pandas的unstack时报ValueError:duplicateentries错误
当前路径:http://scyanting.com/article/jcjpgi.html