前言
python学习笔记—pandas day8(仅供学习使用)
一、转置
import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.random.randint(0,100,size = (10,3)),
index = list('ABCDEFHIJK'),
columns=['Python','Tensorflow','Keras'])
display(df)
df.T # 转置
二、多层索引
1.行多层索引
df2 = pd.DataFrame(data = np.random.randint(0,100,size = (20,3)),
index = pd.MultiIndex.from_product([list('ABCDEFHIJK'),['期中','期末']]),#多层索引
columns=['Python','Tensorflow','Keras'])
df2
2.列多层索引
df3 = pd.DataFrame(data = np.random.randint(0,100,size = (10,6)),
index = list('ABCDEFHIJK'),
columns=pd.MultiIndex.from_product([['Python','Math','En'],['期中','期末']]))
df3
3. 列索引变行索引
display(df2)
# 行索引变成列索引,结构改变
# 默认情况下,最里层调整
# level = -1调整参数,可以改变行变列的顺序
#其中level = 0 调的是python索引结构
#level = 1 调整是 期中期末索引结构
df2.unstack(level = -1)
4.行索引变列索引
# stack堆,摞起来,一行行摞起来
# 作用:列索引变成行索引
df3.stack(level = 1)
5.多层索引运算
# 期中、期末消失
# 每个人,期中期末总分数
df2.sum(level = 0)#level=0表示运算是根据python来计算,求的是python期中总分。
# 同学索引消失
# 所有同学,期中、期末平均分
df2.mean(level = 1)