繁体   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