附加后缀熊猫系列索引



给定以下熊猫系列:

>>>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

背景

i有一个由数据框架聚合函数产生的系列: df.sum()

索引当前是列名称,但我希望它们是列名加上_sum,就像:

>>>data
col1_sum   500.00
col2_sum   9324.0
col3_sum   0.2340
dtype: float64
In [49]: series.index += '_sum'
In [50]: series
Out[50]:
a_sum    1
b_sum    2
c_sum    3
dtype: int64

也许 series.add_suffix('_x')匹配您的需求!

series.add_prefix('x_')返回这样的东西:

x_a    1
x_b    2
x_c    3
dtype: int64

有关完整性,您可以使用str.replace

s.index = s.index.str.replace('(.*)', r'1_sum') 
print(s)
a_sum    1
b_sum    2
c_sum    3
dtype: int64

如果任何人都对将其用于dataFrame感到好奇,下面的摘要完成了任务。

其中df是pandas dataframe,而" c_"是所需的前缀。

数据框架的add_prefix的默认行为是将前缀添加到列中。因此,转置,然后添加_prefix,然后向后转移。

df = df.t.add_prefix('c _')。t

最新更新