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() [打包]
来源:51CTO
作者:良思远行
链接:https://blog.51cto.com/1710161254/2103335