Select 并自动重命名列 pandas 数据框

Select & automate rename columns pandas dataframe

我在问这个问题之前进行了搜索,但要么我不理解答复,要么答案不适合我的情况。

这是我的df

使用此代码: gini.iloc[:, 2:].rename(columns=lambda x : x[:4])

我得到了我想要的结果,preview here。要知道,将 2000 [YR2000] 重命名为 2000,其他列也一样。

但是我想在我原来的df中分配这个修改。当我在重命名函数中添加 inplace = True 时,我收到一个复制警告,我不知道如何解决。

其次,我不知道如何将此更改分配给我的原始 df,同时保持我的前两列完好无损。

谢谢!我希望我清楚,这是我的第一次。

这将是一个相当简单的方法:

cols = df.columns
renames = {col: col[:4] for col in cols[2:]}
df.rename(columns=renames, inplace=True)