pandas 如何重命名panda Dataframe 中的重复列名

6pp0gazn  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(295)

简短地说:我有这个数据框Dataframe
在数据框中,我有一些重复的列,它们的值不同。我如何修复它,使它们具有不同的列名?

df_temporary.rename(columns={df_temporary.columns[3]: "OeFG%"}, inplace=True)
df_temporary.rename(columns={df_temporary.columns[11]:"DeFG%"}, inplace=True)
df_temporary.rename(columns={df_temporary.columns[5]: "OTOV%"}, inplace=True)
df_temporary.rename(columns={df_temporary.columns[13]: "DTOV%"}, inplace=True)
df_temporary.rename(columns={df_temporary.columns[8]: "OFT/FGA"}, inplace=True)
df_temporary.rename(columns={df_temporary.columns[-1]: "DFT/FGA"}, inplace=True)

df_temporary

我尝试使用rename,首先将所有的列都放在一个{}中,然后将每个列都硬编码;两者都导致相同的结果。
What I tried
我也试着遵循这一点:Renaming columns in a Pandas dataframe with duplicate column names?
然而,在我的代码中实现这些并不成功。

hgncfbus

hgncfbus1#

欢迎来到Stackoverflow:)
很高兴你向我们展示了你所尝试的代码样本,你甚至链接到了一个stackoverflow帖子,表明你研究了这个问题!
以后,尽量避免发布表格的截图,并将其作为文本粘贴,以便审阅者/帮助者可以轻松地复制您的内容来运行他们自己的一些代码。
现在,对于你的问题:您可以通过更改df.columns的值来轻松地更改它们的列名。下面是一个针对您的情况的小型示例(我太懒了,没有创建所有列,而且我不确定重命名是否真的是您想要的):

import pandas as pd

data = [["Boston Celtics", 51, 31, 0.542, 0.502],
        ["Phoenix Suns", 64, 18, 0.549, 0.510]]

df = pd.DataFrame(data, columns=['Team', 'W', 'L', 'eFG%', 'eFG%'])
df
             Team   W   L   eFG%   eFG%                                                                                                
0  Boston Celtics  51  31  0.542  0.502                                                                                                
1    Phoenix Suns  64  18  0.549  0.510

df.columns = ["Team", "W", "L", "eFG%", "OeFG%"]
df
             Team   W   L   eFG%  OeFG%                                                                                                
0  Boston Celtics  51  31  0.542  0.502                                                                                                
1    Phoenix Suns  64  18  0.549  0.510

如您所见,最后一列已被重命名为OeFG%,而不是eFG%
希望这对你有帮助:)

相关问题