通过与其他数据框列(Python 3.6)映射来更改数据框列名称

时间:2019-02-06 14:36:03

标签: python python-3.x pandas

如果列与XML_Data ['conceptRef']匹配,而列名称包含在XML_Data ['Dimension_Name_EN']中,我想更改数据框“数据”的列名称

Data.columns

Index(['MEASURE', 'INDEX', 'STAGE', 'SOURCE', 'DESTINATION', 'FREQUENCY', 'VALUE', 'DATE'], dtype='object')

XML_Data:

   Order                codelist   conceptRef    Dimension_Name_EN
0      1      CL_PPI_SOP_MEASURE      MEASURE              Measure
1      2        CL_PPI_SOP_INDEX        INDEX                Index
2      3        CL_PPI_SOP_STAGE        STAGE  Stage of Production
3      4       CL_PPI_SOP_SOURCE       SOURCE               Source
4      5  CL_PPI_SOP_DESTINATION  DESTINATION          Destination

如果其他数据框中不存在列(“ FREQUENCY”,“ VALUE”,“ DATE”),则保持原样。

1 个答案:

答案 0 :(得分:1)

rename DataFrame的zip列创建的字典用于XML_Data

d = dict(zip(XML_Data['conceptRef'], XML_Data['Dimension_Name_EN']))
Data = Data.rename(columns=d)