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

numpy实现数组条件赋值:新增输入A的阈值判断将B设为固定常量

实现方案

你当前的代码用了数组布尔索引,默认是基于NumPy数组实现的场景,直接在初始B值计算完成后新增针对A数组的条件赋值即可。如果需要新增的A元素判断优先级高于原有B值范围限制,将新增的逻辑放在原有范围截断代码之前即可。

NumPy数组版本(适配你原有的代码写法)

def funcB(A, C1, C2):
    B = (0.381*A) + (0.05*(C1/C2)) - 0.15
    # 新增针对A的判断逻辑
    B[A < 1.64] = 0.5
    B[A > 3.3] = 1.0
    # 原有B值范围截断逻辑
    B[B > 1.0] = 1.0
    B[B < 0.5] = 0.5
    return B

普通Python列表版本(无NumPy依赖场景)

如果你输入的A是原生Python列表,不需要依赖第三方库,可以用遍历实现:

def funcB(A, C1, C2):
    res = []
    c_part = 0.05 * (C1 / C2) - 0.15
    for a_item in A:
        if a_item < 1.64:
            res.append(0.5)
            continue
        if a_item > 3.3:
            res.append(1.0)
            continue
        b_val = 0.381 * a_item + c_part
        # 原有范围限制
        if b_val > 1.0:
            b_val = 1.0
        elif b_val < 0.5:
            b_val = 0.5
        res.append(b_val)
    return res

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:00:07