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

如何用简洁单行代码实现DataFrame双条件数值转字符串替换?

简洁实现Pandas数值替换需求

你可以用嵌套的numpy.where单行完成需求,一次性处理所有条件,避免分步修改导致列类型提前转为字符串的问题:

import numpy as np
df['Results'] = np.where(df['Results'] <= 55, 'Low', np.where(df['Results'] >= 3500, 'High', df['Results']))

逻辑很直接:先判断数值≤55的替换为"Low",对不满足的数值再判断是否≥3500,满足则替换为"High",剩下的数值保持原样。执行后列会转为object类型,但所有替换逻辑一步完成,不需要中间过渡值。

另外也可以用pd.cut实现,写法稍复杂但同样是单行:

import pandas as pd
import numpy as np
df['Results'] = pd.cut(df['Results'], bins=[-np.inf, 55, 3499, np.inf], labels=['Low', None, 'High']).fillna(df['Results'])

这里通过设置区间bins,把≤55的分到"Low"组,3500及以上的分到"High"组,中间区间用None标记,最后用原数值填充None即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:13:22