[英]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
使用stack
和unstack
:
df.stack().unstack('Category')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.