我需要重命名仅我数据框中的最后一列,问题是有很多同名的列(这是有原因的),因此我无法在线使用其他示例中的代码。有没有办法使用特定的东西来隔离最后一列?
我试过做这样的事情 df.rename(columns={df.columns[-1]: 'Test'}, inplace=True)
然而,这意味着所有具有相同标题的列都更改为“测试”,而我只想更改最后一列。
我有点需要类似 df.columns[-1] = 'Test' 的东西,但这不起作用。
请您参考如下方法:
您始终可以明确地重新分配。
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
