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