pandas系列之行列互换和索引重塑
本文用到的表格内容如下:
先来看一下原始情形:
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df)
result:
分类 货品 销售量 价钱
0 水果 苹果 34 12
1 家电 电视机 56 3498
2 家电 冰箱 78 2578
3 书籍 python从入门到放弃 25 78
4 水果 葡萄 789 7
1.行列互换
行列互换即行转成列,列转成行,类似于矩阵的转置运算
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.T)
result:
0 1 2 3 4
分类 水果 家电 家电 书籍 水果
货品 苹果 电视机 冰箱 python从入门到放弃 葡萄
销售量 34 56 78 25 789
价钱 12 3498 2578 78 7
转置后再次转置(相当于回到初始状态)
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.T.T)
result:
分类 货品 销售量 价钱
0 水果 苹果 34 12
1 家电 电视机 56 3498
2 家电 冰箱 78 2578
3 书籍 python从入门到放弃 25 78
4 水果 葡萄 789 7
你可以无限套娃一直转置下去的。
2.两种类型的索引结构
2.1 表格型结构
典型的DataFrame结构的表如下:
c1 | c2 | c3 | |
---|---|---|---|
s1 | 1 | 2 | 3 |
s2 | 4 | 5 | 6 |
上面这种表是典型的DataFrame结构,用一个行索引和列索引来唯一确定一个值(行列索引你可以对应成横纵坐标,值你可以对应成二维平面坐标轴上的一个点
2.2 树形结构
3.索引重塑
索引重塑就是将原来的索引就行重新构造。
3.1 将数据从表格型结构转换为树形结构
该操作是通过stack()方法实现的。
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.stack())
result:
0 分类 水果
货品 苹果
销售量 34
价钱 12
1 分类 家电
货品 电视机
销售量 56
价钱 3498
2 分类 家电
货品 冰箱
销售量 78
价钱 2578
3 分类 书籍
货品 python从入门到放弃
销售量 25
价钱 78
4 分类 水果
货品 葡萄
销售量 789
价钱 7
dtype: object
3.2 将数据从树形结构转换为表格型结构
该操作是通过unstack()方法实现的。
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.stack().unstack())
result:
分类 货品 销售量 价钱
0 水果 苹果 34 12
1 家电 电视机 56 3498
2 家电 冰箱 78 2578
3 书籍 python从入门到放弃 25 78
4 水果 葡萄 789 7
转载自:https://juejin.cn/post/6989794310841434120