Skip to main content
 首页 » 编程设计

python之仅重命名 Pandas 数据框中的最后一列(考虑重复标题)

2025年05月04日22lori

我需要重命名仅我数据框中的最后一列,问题是有很多同名的列(这是有原因的),因此我无法在线使用其他示例中的代码。有没有办法使用特定的东西来隔离最后一列?

我试过做这样的事情 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