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

Pandas实现DataFrame指定列含特定字符串时替换整格内容

实现方案

直接用pandas自带的字符串匹配+定位赋值即可完成需求,代码如下:

# 匹配rank列包含foo的行,将对应rank值统一替换为foo
df.loc[df['rank'].str.contains('foo', na=False), 'rank'] = 'foo'

代码说明

  • df['rank'].str.contains('foo') 会逐行扫描rank列的字符串内容,判断是否包含子串foo,返回由True/False组成的布尔序列
  • 参数na=False用于兼容列中存在空值的场景,空值会被判定为不匹配、保留原值,避免运行报错
  • 用loc做行列定位赋值是pandas官方推荐的写法,不会触发链式赋值警告,运行更稳定

效果验证

执行上述代码后,DataFrame输出和预期完全一致:

name                     rank
0    A  captain, general, soldier
1    B                      foo
2    C                      foo
3    D           captain, major
4    E                      foo

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:01:06