Pandas 数据框:根据情况替换值

问题描述 投票:0回答:1

有一列数据框

disposition
---------
NO ANSWER
ANSWERED
FAILED
BUSY
ERROR
WARNING
CANCEL

如何根据条件替换值:

  WHEN disposition = 'NO ANSWER' THEN 0
  WHEN disposition = 'ANSWERED'  THEN 1
  WHEN disposition = 'FAILED'    THEN 2
  WHEN disposition = 'BUSY'      THEN 3
  ELSE 9

希望的结果是

disposition
---------
    0
    1
    2
    3
    9
    9
    9
python pandas
1个回答
0
投票

代码

m = {'NO ANSWER': 0, 'ANSWERED': 1, 'FAILED': 2, 'BUSY': 3}
df['disposition'] = df['disposition'].map(m).fillna(9).astype('int')

df

disposition
0   0
1   1
2   2
3   3
4   9
5   9
6   9
© www.soinside.com 2019 - 2024. All rights reserved.