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