鉴于以下熊猫系列:
>>>series = pd.Series([1, 2, 3], index=["a", "b", "c"])
>>>series
a 1
b 2
c 3
dtype: int64
有没有办法产生这个?
>>>series.do_something()
a_x 1
b_x 2
c_x 3
dtype: int64
我有一个由DataFrame聚合函数生成的系列:df.sum()
索引当前是列名,但我希望它们是列名加_sum
,如下所示:
>>>data
col1_sum 500.00
col2_sum 9324.0
col3_sum 0.2340
dtype: float64
答案 0 :(得分:6)
In [49]: series.index += '_sum'
In [50]: series
Out[50]:
a_sum 1
b_sum 2
c_sum 3
dtype: int64
答案 1 :(得分:3)
也许series.add_suffix('_x')
符合您的需求!
而series.add_prefix('x_')
会返回类似这样的内容:
x_a 1
x_b 2
x_c 3
dtype: int64
答案 2 :(得分:1)
为完整起见,您可以使用str.replace
。
s.index = s.index.str.replace('(.*)', r'\1_sum')
print(s)
a_sum 1
b_sum 2
c_sum 3
dtype: int64