繁体   English   中英

Python:如何重塑数据框?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM