数据分层1之建立分层
import pandas as pd
import numpy as np
data1 =pd.read_excel("F:/分层数据.xlsx"
,header=None)
#将Dataframe的某列转化为行索引,只能转化为 行 索引
data1.set_index([0,1] #顺序可控制那列作为一级二级甚至三级等
,drop=False #是否从列里删除,默认删除
)
#多维列表法
pd.DataFrame(np.random.rand(8,4),index=[[1,1,1,1,2,2,2,2],[1,1,2,2,1,1,2,2]],columns=[["A","A","B","B"],[1,2,1,2]])
#笛卡尔积法(必须保证每一个层次的不同组之间长度相同)
col = pd.MultiIndex.from_product([["A","B"],[1,2]])
row = pd.MultiIndex.from_product([[1,2],[1,2,3,4]])
pd.DataFrame(np.random.rand(8,4),index=row,columns=col)
data2 = pd.read_excel("F:/分层数据.xlsx",skiprows=[0,1],header=None)
data3 = data2.set_index([0,1])
data3
col = pd.MultiIndex.from_product([["第一季度","第二季度","第三季度","第四季度"],["第一期","第二期","第三期"]])
data4 = pd.DataFrame(data3.values,columns=col,index=data3.index)
#拆除多级行索引入列
data4.reset_index(level=[0,1] #拆除哪一级入列,默认全部拆除
,drop=False #是否保留
,inplace=False
)
#索引不同层级的命名
data4.index.names=["部门","分行"]
data4.columns.names=["季度","月份"]
1.本篇所有数据文件小博已上传,需要的小伙伴到“文件”进行下载使用。数据文件纯属学习教学所用,纯属虚构。
2.文章中的代码都是经过小博的真实操作,可以执行。(注:Anaconda3的Jupyter notebook)
浙公网安备 33010602011771号