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

Python中如何替换DataFrame分号分隔列中的15、18为21

实现方案

你可以通过对目标列应用自定义转换函数实现需求,核心逻辑是将每个单元格的字符串按分号拆分后逐元素匹配替换,再重新拼接为分号分隔的字符串。

完整代码示例

import pandas as pd

# 构造示例DataFrame,你可以自行补充其余3列数据,不影响x列的处理逻辑
df = pd.DataFrame({
    'x': ['20;30', '30;45;64', '15;21', '18;24', '15']
})

# 定义替换规则
replace_map = {'15': '21', '18': '21'}

# 处理x列
df['x'] = df['x'].apply(lambda s: ';'.join([replace_map.get(i, i) for i in s.split(';')]))

# 验证结果
print(df['x'])

输出结果

执行代码后x列输出和预期完全一致:

0       20;30
1    30;45;64
2       21;21
3       21;24
4          21
Name: x, dtype: object

逻辑说明

  • 用split(';')把每个单元格的字符串拆分为单个数值的字符串列表
  • 遍历列表元素,用replace_map.get(i, i)匹配替换规则,未匹配到的元素保持原值
  • 最后用join方法把处理后的列表重新拼接为分号分隔的字符串
  • 若后续需要替换其他数值,仅需修改replace_map的键值对即可,无需调整其他逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:45:02