概述
数据分析总流程
二维表转换一维表
准备数据
假设现在有一个时空二维表,表示北京、上海、山东、广东分别在2006年、2007年和2008年的年GDP,数据如下:
地区 | 2006 | 2007 | 2008 |
---|---|---|---|
北京 | 7861 | 9353 | 10488 |
上海 | 10366 | 12189 | 13698 |
山东 | 22077 | 25966 | 31720 |
广东 | 26160 | 31084 | 35696 |
用Python导入数据
import pandas as pd
import numpy as np
df=pd.DataFrame(columns=['地区','2006','2007','2008'])
df['地区']=['北京','上海','山东','广东']
df['2006']=[7861,10366,22077,26160]
df['2007']=[9353,12189,25966,31084]
df['2008']=[10488,13698,31720,35696]
数据转换
用Python将时空二维表转换为一维表,代码如下:
def table_dimentrans(df):
yn=len(df.columns)-1 #年份数
an=len(df.index) #地区数
df_o=pd.DataFrame(columns=['地区','年份','X'])
df_o['地区']=df['地区'].tolist()*yn
year=df.columns.tolist()[1:]
df_o['年份']=sorted(year*an)
X=[]
for i in year:
X=X+df[i].tolist()
df_o['X']=X
df_o.sort_values(['地区','年份'],inplace=True)
df_o.index=range(len(df_o))
return df_o
table_dimentrans(df)
结果
转换成一维表,结果如下:
地区 | 年份 | X |
---|---|---|
上海 | 2006 | 10366 |
上海 | 2007 | 12189 |
上海 | 2008 | 13698 |
北京 | 2006 | 7861 |
北京 | 2007 | 9353 |
北京 | 2008 | 10488 |
山东 | 2006 | 22077 |
山东 | 2007 | 25966 |
山东 | 2008 | 31720 |
广东 | 2006 | 26160 |
广东 | 2007 | 31084 |
广东 | 2008 | 35696 |
最后
以上就是爱笑滑板为你收集整理的Python玩转数据分析——数据准备(二维表转换一维表)数据分析总流程二维表转换一维表的全部内容,希望文章能够帮你解决Python玩转数据分析——数据准备(二维表转换一维表)数据分析总流程二维表转换一维表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复