簡體   English   中英

Python 中的 Pivot 表使用 Pandas

[英]Pivot table in Python using Pandas

我有一個數據框,其中包含以下格式的數據:

在此處輸入圖像描述

我必須 pivot 向上狀態列和 Pivot 向下狀態列使表格看起來像:

在此處輸入圖像描述

我正在嘗試使用 pd.pivot_table 來做到這一點,但無法獲得所需的結果。 這是我正在嘗試的:

table = pd.pivot_table(data = covid19_df_latest, index = ['Date', 'Delhi', 'Maharashtra', 'Haryana'], values = ['Status'], aggfunc = np.max)
print(table) 

我收到錯誤“沒有要聚合的數字類型”,請建議

使用DataFrame.meltDataFrame.pivot_table

df= (covid19_df_latest.melt(['Date','Status'], var_name='State')
                      .pivot_table(index=['Date','State'],
                                   columns='Status', 
                                   values='value', 
                                   aggfunc='max')
                      .reset_index()
                      .rename_axis(None, axis=1))
print (df)
       Date        State  Deceased  Identified  Recovered
0  14/05/20        Delhi      1200       10000       2000
1  14/05/20      Haryana      1000       20000        800
2  14/05/20  Maharashtra      1000       15000       3700

詳細信息:解決方案首先通過melt取消 Dataframe :

print (covid19_df_latest.melt(['Date','Status'], var_name='State'))
       Date      Status        State  value
0  14/05/20  Identified        Delhi  10000
1  14/05/20   Recovered        Delhi   2000
2  14/05/20    Deceased        Delhi   1200
3  14/05/20  Identified  Maharashtra  15000
4  14/05/20   Recovered  Maharashtra   3700
5  14/05/20    Deceased  Maharashtra   1000
6  14/05/20  Identified      Haryana  20000
7  14/05/20   Recovered      Haryana    800
8  14/05/20    Deceased      Haryana   1000

然后使用max聚合 function 進行旋轉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM