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

Python如何快速按阈值规则判断DataFrame每行值并生成新列

实现方案

你可以用以下几种高效的方案快速实现需求,不需要写循环遍历每一行:

方案1:使用np.where(最简洁,性能最优)

这是最常用的向量化判断方案,适合任意数据量的场景:

import numpy as np
# 一行完成赋值:满足value < -5则赋值-5,否则赋值0
df['new_value'] = np.where(df['value'] < -5, -5, 0)

方案2:使用loc显式赋值(可读性最高)

如果你希望逻辑更直观,方便后续调整规则,可以用分步骤赋值的方式:

# 先给所有行默认赋值0
df['new_value'] = 0
# 再筛选出value小于-5的行,将对应new_value改为-5
df.loc[df['value'] < -5, 'new_value'] = -5

完整测试代码

你可以直接运行以下代码验证输出和你给出的预期结果一致:

import pandas as pd
import numpy as np

# 构造你提供的样例数据
df = pd.DataFrame({
    'value': [-2.26, -5.70, -2.14, -2.30, -2.22, -4.86, -5.07, -3.86, -3.26]
})

# 执行赋值逻辑
df['new_value'] = np.where(df['value'] < -5, -5, 0)

# 输出结果
print(df)

运行输出:

value  new_value
0  -2.26          0
1  -5.70         -5
2  -2.14          0
3  -2.30          0
4  -2.22          0
5  -4.86          0
6  -5.07         -5
7  -3.86          0
8  -3.26          0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:54:00