如何将索引拆分为两列?

时间:2018-03-03 16:14:23

标签: pandas

我有以下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,但不知道在这种情况下如何应用它。

1 个答案:

答案 0 :(得分:1)

如果想要extract数字值首先将索引转换为to_series,则将join转换为原始值和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