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

Python3借助numpy实现含布尔运算的向量方程计算方法

NumPy实现含布尔条件的向量运算方案

你需要的逐元素布尔判断运算可以通过NumPy的向量化特性直接实现,和R的运算逻辑完全对齐,实现代码如下:

import numpy as np

# 定义输入向量
a = np.array([0, 1, 2, 3, 4, 5])
b = np.array([1, 1, 2, 2, 3, 3])

# 执行对应运算,注意布尔判断部分需要加括号明确运算优先级
res = a - b + 5 * ((a == 0) | (b == 0))

# 输出结果
print(res)

运行后输出结果为 [4 0 0 1 1 2],和你提供的R代码运行结果完全一致。

注意事项

  • Python中位运算符|的优先级低于比较运算符,因此必须把a==0、b==0两个比较逻辑分别用括号包裹,否则会出现运算顺序错误。
  • 如果你需要更高的可读性,也可以用np.where实现等价逻辑:
    res = a - b + np.where((a == 0) | (b == 0), 5, 0)
    

内容的提问来源于stack exchange,提问作者Ioanna K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:03