将子级转换为单列

2024-06-16 10:14:11 发布

您现在位置:Python中文网/ 问答频道 /正文

Category                        Cat2    average  
Beauty / Wellness / Healthcare  1       54.50
                                2       53.25
                                3       48.00
                                4       57.57
                                5       51.33
                                6       18.50
                                7       16.00

我有一个多层次的数据帧。我需要将第二层转换成一个简单的列。有可能吗unstacking创建列1到列7

作为补充:是否可以重命名组名(级别0和1)


Tags: 数据级别重命名averagebeautycategoryhealthcarecat2
1条回答
网友
1楼 · 发布于 2024-06-16 10:14:11

df.reset_index(['Cat2'])Cat2索引转换为列

例如

In [38]: df
Out[38]: 
                                     average
Category                       Cat2         
Beauty / Wellness / Healthcare 1       54.50
                               2       53.25
                               3       48.00
                               4       57.57
                               5       51.33
                               6       18.50
                               7       16.00

In [39]: df.reset_index(['Cat2'])
Out[39]: 
                                Cat2  average
Category                                     
Beauty / Wellness / Healthcare     1    54.50
Beauty / Wellness / Healthcare     2    53.25
Beauty / Wellness / Healthcare     3    48.00
Beauty / Wellness / Healthcare     4    57.57
Beauty / Wellness / Healthcare     5    51.33
Beauty / Wellness / Healthcare     6    18.50
Beauty / Wellness / Healthcare     7    16.00

要更改索引级别名称,请使用df.index.names = ['foo', 'bar']

In [48]: df.index.names = ['foo', 'bar']

In [49]: df
Out[49]: 
                                    average
foo                            bar         
Beauty / Wellness / Healthcare 1      54.50
                               2      53.25
                               3      48.00
                               4      57.57
                               5      51.33
                               6      18.50
                               7      16.00

相关问题 更多 >