如何将索引拆分为两列?

问题描述 投票:1回答:1

我有以下df:

                           0
0Basic Materials        0.561830
1Financial              0.337054
2Consumer Cyclical      0.017414
3Financial              0.073028
4Consumer Non-cyclical  0.010673

我想拆分索引列以获得以下输出:

           0                   1
0    Basic Materials        0.561830
1    Financial              0.337054
2    Consumer Cyclical      0.017414
3    Financial              0.073028
4    Consumer Non-cyclical  0.010673

我知道的分裂列的唯一方法是使用rsplit,但不知道在这种情况下如何应用它。

pandas
1个回答
1
投票

如果想要extract数值首先将索引转换为to_series,那么join为original和set_index

df = (df.index.to_series().str.extract('(?P<a>\d+)(?P<b>.*)', expand=True)
       .join(df)
       .set_index('a'))
#if need default columns names
df.columns = range(len(df.columns))
print (df)
                       0         1
a                                 
0        Basic Materials  0.561830
1              Financial  0.337054
2      Consumer Cyclical  0.017414
3              Financial  0.073028
4  Consumer Non-cyclical  0.010673
© www.soinside.com 2019 - 2024. All rights reserved.