繁体   English   中英

重塑数据框,使索引列值成为列

[英]Reshape data frame, so the index column values become the columns

我想重塑数据,使索引列中的值成为列

我的数据框:

     Gender_Male    Gender_Female   Location_london Location_North  Location_South
Cat                 
V         5              4              4                2              3    
W         15            12             12                7              8
X         11            15             16                4              6
Y         22            18             21                9              9
Z         8              7              7                4              4

所需的数据框:

在此处输入图像描述

是否有捷径可寻? 除了 Gender 和 Location 变量之外,我的数据集中还有 9 个其他分类变量。 我只包含了两个变量以保持示例简单。

创建示例数据框的代码:

df1 = pd.DataFrame({
    'Cat' : ['V','W', 'X', 'Y', 'Z'],
    'Gender_Male' :   [5, 15, 11, 22, 8],
    'Gender_Female' : [4, 12, 15, 18, 7],
    'Location_london': [4,12, 16, 21, 7], 
    'Location_North' : [2, 7,  4,  9, 4], 
    'Location_South' : [3, 8,  6,  9, 4]  
}).set_index('Cat')
df1

您可以transpose数据框,然后split并设置新索引:

转置

dft = df1.T
print(dft)

Cat              V   W   X   Y  Z
Gender_Male      5  15  11  22  8
Gender_Female    4  12  15  18  7
Location_london  4  12  16  21  7
Location_North   2   7   4   9  4
Location_South   3   8   6   9  4

拆分并设置新索引

dft.index = dft.index.str.split('_', expand=True)
dft.columns.name = None
print(dft)

                 V   W   X   Y  Z
Gender   Male    5  15  11  22  8
         Female  4  12  15  18  7
Location london  4  12  16  21  7
         North   2   7   4   9  4
         South   3   8   6   9  4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM