You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按条件替换Pandas DataFrame中的disposition列值?

按条件替换DataFrame中disposition列的值

现有DataFrame情况

我们有一个仅包含disposition列的DataFrame,数据如下:

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

创建该DataFrame的代码:

import pandas as pd
data1 = {'disposition': ['NO ANSWER', 'ANSWERED', 'FAILED', 'BUSY', 'ERROR', 'WARNING', 'CANCEL']}
df = pd.DataFrame(data1)

替换规则

需要按以下规则替换disposition列的值:

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

实现方法

这里提供两种高效的实现方式:

方法1:使用replace函数

# 定义映射关系字典
disposition_map = {
    'NO ANSWER': 0,
    'ANSWERED': 1,
    'FAILED': 2,
    'BUSY': 3
}
# 执行替换,未匹配到的统一设为9
df['disposition'] = df['disposition'].replace(disposition_map, 9)

方法2:使用map结合字典get方法

disposition_map = {
    'NO ANSWER': 0,
    'ANSWERED': 1,
    'FAILED': 2,
    'BUSY': 3
}
# 遍历列值,匹配不到返回默认值9
df['disposition'] = df['disposition'].map(lambda x: disposition_map.get(x, 9))

替换后结果

执行上述任意一种代码后,disposition列会变为:

disposition
---------
    0
    1
    2
    3
    9
    9
    9

内容的提问来源于stack exchange,提问作者harp1814

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 01:33:15