获取数据中的pandas系列索引

use*_*828 3 python indexing series pandas

我想格式化一系列字符串,以便索引在某处的字符串中.示例系列:

ser = pd.Series(['CT', 'NY', 'MT'], index=['Jessica', 'Eric', 'Toby'])
ser
Jessica    CT
Eric       NY
Toby       MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

所需的输出:

Jessica    Jessica: CT
Eric          Eric: NY
Toby          Toby: MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

我试过这个变种:

ser.apply(lambda x: "{}: {}".format(x.index, x))
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为它x.index引用的是索引方法str,而不是迭代的系列.

piR*_*red 5

选项1
pd.Index.to_series

ser.index.to_series() + ': ' + ser

Jessica    Jessica: CT
Eric          Eric: NY
Toby          Toby: MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

选项2我最喜欢的!
pd.Series.radd

ser.radd(ser.index + ': ')

Jessica    Jessica: CT
Eric          Eric: NY
Toby          Toby: MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

选项3

pd.Series(map(': '.join, zip(ser.index, ser)), ser.index)

Jessica    Jessica: CT
Eric          Eric: NY
Toby          Toby: MT
dtype: object
Run Code Online (Sandbox Code Playgroud)