立柱更换困难';Python中数据帧中的名称?

立柱更换困难';Python中数据帧中的名称?,python,pandas,dataframe,rename,Python,Pandas,Dataframe,Rename,我的数据框架如下所示: df - pd.DataFrame({"col1" : [1 ,2 ,3], "col1" : [2,3,4], "col2" : [10, 11, 12]}) 然后我制作:df.columns.tolist(),我有df的列列表: ["col1", "col1", "col2]

我的数据框架如下所示:

df - pd.DataFrame({"col1" : [1 ,2 ,3],
                   "col1" : [2,3,4],
                   "col2" : [10, 11, 12]})
然后我制作:
df.columns.tolist()
,我有df的列列表:

["col1",
 "col1",
 "col2]

如何将第二个“col1”的名称更改为例如“col3”?因为正如我的意思,如果我尝试:
df.rename(columns={“col1”:“col3”},inplace=True)
第一个“col1”将被更改。

您可以按位置更改列名:

df.columns.to_numpy()[1] = 'col3'
print (df)
   col1  col3  col2
0     1     2    10
1     2     3    11
2     3     4    12
另一个想法是先消除重复列名称:

df.columns = pd.io.parsers.ParserBase({'names':df.columns})._maybe_dedup_names(df.columns)
print (df)
   col1  col1.1  col2
0     1       2    10
1     2       3    11
2     3       4    12
因此,您可以使用
重命名

df = df.rename(columns={"col1.1" : "col3"})
print (df)
   col1  col3  col2
0     1     2    10
1     2     3    11
2     3     4    12

否,值为2,3,4的col1必须更改为col3@jack55-抱歉,答案已更改。