我正在尝试更改列值依赖于其行中的其他列,然后使用ADSL
列作为我的键将其合并到现有的Excel文件中。
我有这样的数据:
ADSL Status Result
2/134 WO No Server Answer
1/239 WO Faulty
2/94 FA Number
2/321 SP Voltage
这是一个实际数据,Status
列有三个可能的值[WO,FA,SP],每个值都具有相等的Result
值。
示例:
Status Equivalent Result Value
Battery Tone
Engage
WO No Dial Tone
No Server Answer
No Voltage
Number
SP Voltage
FA Faulty
Vacant
现在实际上Status
列未根据其等效Result
值获得正确的值。
(见上面的数据)
我尝试做的是根据status
列中的等值来更正Result
值
在python中执行此操作最简单有效的方法是什么?我不是在寻找特定的图书馆。任何帮助将不胜感激。干杯!
答案 0 :(得分:1)
我认为Series
需要map
:
df2['Status'] = df2['Status'].map(df1.set_index('Result')['Status'])
如果某些值不匹配,则可以替换原始的非NaN
值:
df2['Status'] = df2['Status'].map(df1.set_index('Result')['Status']).fillna(df2['Status'])