如何向 pandas.DataFrame().index 添加后缀/前缀?

问题描述 投票:0回答:2

我想知道是否有类似于

add_suffix
的方法为数据帧的索引添加后缀?我当前的解决方法如下所示。

df = pd.DataFrame({'x': [1, 2, 3]}, index=[1, 2, 3])

df = df.T.add_suffix('_x').T

# or 
df.index = df.index.astype(str)+'_x'

不幸的是,

axis
不支持
add_suffix
关键字。

python pandas
2个回答
24
投票

pandas.DataFrame.rename

传递一个应用于每个索引值的可调用函数

df.rename('{}_x'.format)

     x
1_x  1
2_x  2
3_x  3

set_index

df.set_index(df.index.astype(str) + '_x')

     x
1_x  1
2_x  2
3_x  3

0
投票

从 pandas 2.0.0 开始,

df.add_prefix
df.add_suffix
可以通过传递
axis=0
:

在索引上使用
df.add_suffix('_x', axis=0)

     x
1_x  1
2_x  2
3_x  3

同样:

df.add_prefix('x_', axis=0)

     x
x_1  1
x_2  2
x_3  3

默认

axis=None
继续像以前一样向列标签添加前缀/后缀。例如:

df.add_prefix('x_')

   x_x
1    1
2    2
3    3
© www.soinside.com 2019 - 2024. All rights reserved.