[英]Python: how to reshape a dataframe?
我有一个数据框,其中包含不同城市的信息,例如:
print(df)
ID City Var Year Value
0 AT001 Vienna CO2_PC 2000 12.77
1 AT001 Vienna CO2_PC 2005 15.42
2 AT001 Vienna CO2_PC 2008 14.23
3 AT001 Vienna AIR_POLLUTION 2002 24.09
4 AT001 Vienna AIR_POLLUTION 2005 21.03
5 AT001 Vienna AIR_POLLUTION 2008 16.77
对于每个City
我想提取不同Year
的每个变量的平均值,并具有如下数据框:
print(df1)
ID City CO2_PC AIR_POLLUTION
0 AT001 Vienna 13.81 20.66
这是一种方法:
df2 = df.groupby(['ID', 'City', 'Var'])['Value'].mean().reset_index()
df2 = pd.pivot_table(df2, index=['ID', 'City'], columns=['Var']).reset_index()
df2.columns = [' '.join(col).strip() for col in df2.columns.values]
结果
ID City Value AIR_POLLUTION Value CO2_PC
0 AT001 Vienna 20.63 14.14
说明
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.