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

如何将DataFrame中n列的y3替换为3rd、y4替换为4th

Pandas替换DataFrame指定列的特定值

原数据

import pandas as pd

df = pd.DataFrame({
    'x': [-17.7, -15.0, -12.5, -12.4],
    'y': [-0.785430, -3820.085000, 2.138833, 1.721205],
    'd': [0.053884, 0.085000, 0.143237, 0.251180],
    'n': ['y1', 'y4', 'y3', 'y3']
})

需求

将n列中所有y3替换为"3rd",所有y4替换为"4th",得到目标输出。


解决方案

方法1:使用replace方法(最简洁)

直接对目标列调用replace,传入替换字典即可完成批量替换:

df['n'] = df['n'].replace({'y3': '3rd', 'y4': '4th'})

执行后结果:

x            y         d    n
0   -17.7    -0.785430  0.053884   y1
1   -15.0 -3820.085000  0.085000  4th
2   -12.5     2.138833  0.143237  3rd
3   -12.4     1.721205  0.251180  3rd

方法2:使用map方法(适合扩展映射规则)

定义映射字典后,用map结合get方法保留未在映射中的原始值:

mapping = {'y3': '3rd', 'y4': '4th'}
df['n'] = df['n'].map(lambda x: mapping.get(x, x))

方法3:条件赋值(适合复杂筛选场景)

通过布尔索引定位目标行后逐一替换:

df.loc[df['n'] == 'y3', 'n'] = '3rd'
df.loc[df['n'] == 'y4', 'n'] = '4th'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:01:08