基于python中的另一列映射列值
我试图更改另一列的行中的列值,然后使用ADSL列作为键将其合并到现有的excel文件中 我有这样的数据:基于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 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'])