Python 如何重塑Pandas多索引数据帧(为每个类别转置行,并将它们作为列彼此相邻,并保持索引相同)
对熊猫来说非常陌生,在措辞上有困难,所以如果已经有其他帖子的话,也希望有链接。所以我有一个多索引数据帧,我想重塑它 我目前有类似的内容(不同类别的名称有多行): 想得到这样的东西:Python 如何重塑Pandas多索引数据帧(为每个类别转置行,并将它们作为列彼此相邻,并保持索引相同),python,pandas,Python,Pandas,对熊猫来说非常陌生,在措辞上有困难,所以如果已经有其他帖子的话,也希望有链接。所以我有一个多索引数据帧,我想重塑它 我目前有类似的内容(不同类别的名称有多行): 想得到这样的东西: Category Name | 1 2 3 Jack Col1 50.0 30.8 20.2 Col2 44.2 22.4 26.2 Col3
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
使用
堆栈
和取消堆栈
:
df.stack().unstack('Category')
谢谢,这正是我需要的!非常迅速。
df.stack().unstack('Category')