基于python中的另一列映射列值

基于python中的另一列映射列值,python,pandas,openpyxl,xlsxwriter,Python,Pandas,Openpyxl,Xlsxwriter,我试图更改另一列的行中的列值,然后使用ADSL列作为键将其合并到现有的excel文件中 我有这样的数据: ADSL Status Result 2/134 WO No Server Answer 1/239 WO Faulty 2/94 FA Number 2/321 SP Voltage 这是一个实际数据,状态列有三个可能的值[WO、FA、SP],每个值都有等效的结果值 例如: Stat

我试图更改另一列的行中的列值,然后使用ADSL列作为键将其合并到现有的excel文件中

我有这样的数据:

ADSL     Status     Result
2/134    WO         No Server Answer
1/239    WO         Faulty
2/94     FA         Number
2/321    SP         Voltage
这是一个实际数据,状态列有三个可能的值[WO、FA、SP],每个值都有等效的结果值

例如:

Status                  Equivalent Result Value

                        Battery Tone
                        Engage
  WO                    No Dial Tone
                        No Server Answer
                        No Voltage
                        Number
现在,在现实中,状态列没有根据其等效结果值获得正确的值。 见上文数据

我试图做的是根据结果列中的等效值来更正状态值

在python中,最简单或有效的方法是什么?我不是在看一个特别的图书馆。任何帮助都将不胜感激。干杯

我认为需要按系列:

如果某些值不匹配,可以用原始非NaNs值替换:

  SP                    Voltage
  FA                    Faulty
                        Vacant
df2['Status'] = df2['Status'].map(df1.set_index('Result')['Status'])
df2['Status'] = df2['Status'].map(df1.set_index('Result')['Status']).fillna(df2['Status'])