【发布时间】:2017-08-28 05:00:43
【问题描述】:
目前我有这种格式的表格:
Geo-id Name stat 年份索引 111500 安尼斯顿-牛津-杰克逊维尔 AL 1991 0 111500 Anniston-Oxford-Jacksonville AL 1992 91.675 111500 安尼斯顿-牛津-杰克逊维尔 AL 1993 93.8025 111500 安尼斯顿-牛津-杰克逊维尔 AL 1994 96.63 111500 安妮斯顿-牛津-杰克逊维尔 AL 1995 99.455 111500 Anniston-Oxford-Jacksonville AL 1996 102.4875 111500 Anniston-Oxford-Jacksonville AL 1997 109.0225 111500 安尼斯顿-牛津-杰克逊维尔 AL 1998 114.7075 111500 Anniston-Oxford-Jacksonville AL 1999 116.005 112220 奥本-欧佩莱卡 AL 1992 90.695 112220 奥本-欧佩莱卡 AL 1993 94.2075 112220 奥本-欧佩莱卡 AL 1994 98.6825 112220 奥本-欧佩莱卡 AL 1995 103.3675 112220 奥本-欧佩莱卡 AL 1996 107.2725 112220 奥本-欧佩莱卡 AL 1997 111.7125
这应该转换为:
Geo-id 名称 1991 1992 1993 1994 ...... 2017 111500 安妮斯顿-牛津-杰克逊维尔 0 91.675 93.8025 96.63 112220 Auburn-Opelika 0 90.695 94.2075 98.6825 等等.....保持大地水准面和名称垂直(但只重复一次,因为它是水平旋转的)。
到目前为止我的代码:
pre_horizontal_df = pd.read_csv('database_raw.csv')
pre_horizontal_df['period'] = pre_horizontal_df.year.astype(str)
df1 = pre_horizontal_df.groupby(['geoid', 'name'])['hpi'].mean().unstack()
print (df1)
但这不起作用。这个水平轴可以在 python df / pandas 中完成吗?
【问题讨论】:
标签: python csv pandas dataframe pivot