簡體   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