Python 通过与另一个dataDrame映射来更改列名

Python 通过与另一个dataDrame映射来更改列名,python,pandas,dataframe,Python,Pandas,Dataframe,我已经导入了包含14列的csv文件&我想重命名一个数据框中的所有列名“columnNameDF” 来源数据: Column1,Column2,Column3,Column4,Column5,Column6,Column7,Column8,Column9,Column10,Column11,Column12,Column13,Column14 1,2,3,4,5,6,7,8,9,10,11,12,13,14 columnNameDF中存储的列重命名 SourceColumns Rename

我已经导入了包含14列的csv文件&我想重命名一个数据框中的所有列名“columnNameDF”

来源数据:

Column1,Column2,Column3,Column4,Column5,Column6,Column7,Column8,Column9,Column10,Column11,Column12,Column13,Column14
1,2,3,4,5,6,7,8,9,10,11,12,13,14
columnNameDF中存储的列重命名

SourceColumns   Rename
Column1     Snapshot Date
Column2     Quarter End
Column3     Year End
Column4     RIA Ownership Type
Column5     Age Bracket
Column6     Gender
Column7     Channel Type
Column8     Exclude Non Producers
Column9     Firm
Column10    Firm Type
Column11    License
Column12    Retail BD Type
Column13    Retail BD Primary Type
Column14    Years A Rep
预期产出:

Snapshot Date,Quarter End,Year End,RIA Ownership Type,Age Bracket,Gender,Channel Type,Exclude Non Producers,Firm,Firm Type,License,Retail BD Type,Retail BD Primary Type,Years A Rep
1,2,3,4,5,6,7,8,9,10,11,12,13,1
如何重命名单个脚本中的所有列? 我想用它来表示500+个csv文件和源文件列的顺序不一样

df

   SourceColumns                  Rename
0        Column1           Snapshot Date
1        Column2             Quarter End
2        Column3                Year End
3        Column4      RIA Ownership Type
4        Column5             Age Bracket
5        Column6                  Gender
6        Column7            Channel Type
7        Column8   Exclude Non Producers
8        Column9                    Firm
9       Column10               Firm Type
10      Column11                 License
11      Column12          Retail BD Type
12      Column13  Retail BD Primary Type
13      Column14             Years A Rep

df2

   Column1  Column2  Column3  Column4  Column5  Column6  Column7  Column8  \
0        1        2        3        4        5        6        7        8   

   Column9  Column10  Column11  Column12  Column13  Column14  
0        9        10        11        12        13        14  

对具有列映射的列使用
df。重命名

df2 = df2.rename(columns=df.set_index('SourceColumns')['Rename'].to_dict())
df2


   Snapshot Date  Quarter End  Year End  RIA Ownership Type  Age Bracket  \
0              1            2         3                   4            5   

   Gender  Channel Type  Exclude Non Producers  Firm  Firm Type  License  \
0       6             7                      8     9         10       11   

   Retail BD Type  Retail BD Primary Type  Years A Rep  
0              12                      13           14  
在0.21.0版中:

输出:

   Snapshot Date  Quarter End  Year End  RIA Ownership Type  Age Bracket  \
0              1            2         3                   4            5   

   Gender  Channel Type  Exclude Non Producers  Firm  Firm Type  License  \
0       6             7                      8     9         10       11   

   Retail BD Type  Retail BD Primary Type  Years A Rep  
0              12                      13           14 

@欢迎光临!如果有帮助,不要忘记投票和接受。
   Snapshot Date  Quarter End  Year End  RIA Ownership Type  Age Bracket  \
0              1            2         3                   4            5   

   Gender  Channel Type  Exclude Non Producers  Firm  Firm Type  License  \
0       6             7                      8     9         10       11   

   Retail BD Type  Retail BD Primary Type  Years A Rep  
0              12                      13           14