我只需要重命名 我数据框中的最后一列,问题是有很多同名列(这是有原因的),因此我无法在线使用其他示例中的代码。有没有一种方法可以使用仅隔离最后一列的特定内容?
我试图做这样的事情
df.rename(columns={df.columns[-1]: 'Test'}, inplace=True)
但是,这意味着所有具有相同标题的列都更改为“测试”,而我只希望最后一个更改。
我有点需要df.columns[-1] = 'Test'
之类的东西,但这不起作用。
答案 0 :(得分:5)
您始终可以明确地重新分配。
df.columns = [*df.columns[:-1], 'Test']
或者,如果要进行方法链接,请以相同的方式使用set_axis
:
df.set_axis([*df.columns[:-1], 'Test'], axis=1, inplace=False)
最小代码示例
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=list('ABA'))
df
A B A
0 1 2 3
1 4 5 6
2 7 8 9
df.rename({df.columns[-1]: 'C'}, axis=1) # wrong
C B C
0 1 2 3
1 4 5 6
2 7 8 9
df.set_axis([*df.columns[:-1], 'Test'], axis=1, inplace=False)
A B Test
0 1 2 3
1 4 5 6
2 7 8 9