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

Python中Pandas布尔列值替换失败问题求助

问题分析与解决

你的代码里df1['remark']是布尔类型列(值是Python原生的True/False,不是字符串"True"),所以用字符串"True"去替换自然匹配不到,导致替换无效。

正确实现方式

直接针对布尔值True进行替换即可,以下是两种常用写法:

写法1:使用replace字典映射

import pandas as pd

df1 = pd.DataFrame({'NOTES': ["PREPAID_HOME_SCREEN_MAMO","SCREEN_MAMO",
                              "> Unable to connect internet>4G Compatible>Set",
                              "No>Not Barred>Active>No>Available>Others>",
                              "Internet Not Working>>>Unable To Connect To"]})

# 生成布尔类型的remark列
df1['remark']= df1['NOTES'].str.contains('Internet')|df1['NOTES'].str.contains('MAMO')

# 替换布尔值True为"Data",False保持不变
df2 = df1['remark'].replace({True: "Data"})

写法2:使用map自定义逻辑

如果需要更灵活的判断逻辑,也可以用map实现:

df2 = df1['remark'].map(lambda x: "Data" if x else x)

验证结果

运行后df2的输出为:

0    Data
1    Data
2    Data
3   False
4    Data
Name: remark, dtype: object

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:18:26