Python 将字符串编号连接到系列索引的开头

Python 将字符串编号连接到系列索引的开头,python,pandas,Python,Pandas,我有以下系列: ser = pd.Series(["foo","bar","a",4,5], index=["a", "b", "c", "d", "e"]) ser a foo b bar c a d 4 e 5 dtype: object 我想在索引之前串联一个递增的字符串号,如下所示:

我有以下系列:

ser = pd.Series(["foo","bar","a",4,5], index=["a", "b", "c", "d", "e"])
ser

a    foo
b    bar
c      a
d      4
e      5
dtype: object
我想在索引之前串联一个递增的字符串号,如下所示:

#期望输出

0_a    foo
1_b    bar
2_c      a
3_d      4
4_e      5
dtype: object
我试过这个:

increment = iter(range(0,10))

ser.index = str(next(increment))+"_"+ser.index

但是字符串数不会增加。我应该如何处理这个问题?

将列表理解与
f-string
s和
enumerate
结合使用:

ser.index = [f'{a}_{b}' for a, b in enumerate(ser.index)]
或将
RangeIndex
转换为字符串,并使用:

或:


是如何回答问题的极好指南。如果能解释一下,看看这是否是一个普遍适用的答案,那就太好了。
ser.index = pd.RangeIndex(len(ser)).astype(str).str.cat(ser.index, sep='_')
ser.index = pd.RangeIndex(len(ser)).astype(str) + '_' + ser.index
print (ser)
0_a    foo
1_b    bar
2_c      a
3_d      4
4_e      5
dtype: object
ser.index.map(lambda x : str(next(increment))+x)