簡體   English   中英

如何重塑 Pandas MultiIndex Dataframe(轉置每個類別的行,並將它們作為列並排放置並保持索引相同)

[英]How to reshape Pandas MultiIndex Dataframe (transpose the row for each Category, and have these next to each other as columns and keep index same)

對 Pandas 來說非常新,並且在措辭上有困難,所以如果已經有另一篇文章,也會感謝它的鏈接。 所以我有一個多索引數據框,我想重塑它。

我目前有這樣的東西(名稱不同類別的多行):

                | Col1 | Col2 | Col3 | ...| Col1000
Name | Category 
Jack     1        50.0   44.2   33.2   ...    NaN
         2        30.8   22.4   40.9   ...    12.0
         3        20.2   26.2   49.8   ...    9.0
Peter    1        30.0   22.5   40.9   ...    18.5
         2        34.9   28.2   21.6   ...    22.0
         ... etc

並且想要得到這樣的東西:

                      Category 
Name |             1      2      3
Jack     Col1      50.0   30.8  20.2
         Col2      44.2   22.4  26.2 
         Col3      33.2   40.9  49.8
         ...
         Col1000   NaN    12.0  9.0
Peter    Col1      30.0   34.9  etc.
         Col2      22.5   28.2  ..
         Col3      40.9   21.6  ..
         ...       ...    ...
         Col1000   18.5   22.0

所以基本上我想轉置每個類別的行,並將它們作為列彼此相鄰,並將索引名稱保留在最終數據框中。

提前致謝。

編輯:快速示例代碼:

index1 = pd.Index(["Jack","Jack","Peter", "Peter"])
index2= pd.Index(data=[1,2,1,2], name="Category")
df = pd.DataFrame({"Col1":[54,21,11,99], "Col2":[22,44,12,98], "Col3":[22,25,15,2], "Col4":[88,77,45,56]})
df= df.set_index([index1,index2])
df

使用stackunstack

df.stack().unstack('Category')

暫無
暫無

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

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