python - 比较两个以上的 numpy 数组

标签 python arrays numpy boolean

我想要一个 boolean numpy 数组 fixidx,它是比较 numpy 数组 abcd。例如我有数组

a = np.array([1, 1])
b = np.array([1, 2])
c = np.array([1, 3])
d = np.array([1, 4])

因此数组 fixidx 具有值

fixidx = [1, 0]

我的方法是

fixidx = (a == b) & (b == c) & (c == d)

这在 Matlab 中有效,但事实证明 Python 只输出一个 ValueError。

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

anyall 不会成功,或者至少我无法弄清楚。

最佳答案

代码完美运行,没有错误。尝试将 boolean 输出转换为整数:

((a == b) & (b == c) & (c == d)).astype(int)
array([1, 0])

关于python - 比较两个以上的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114666/

相关文章:

python - 导入存储在 python 模块中的 csv 数据

arrays - UIPickerView 在 Swift 中选择标题 == 字符串的行

python - numpy中的逐行乘法

arrays - 如何使用 bash 脚本并排打印两个数组?

具有首选方向的python numpy偏向概率随机向量

Python 列表。我缺少什么?

python - 如何在Eclipse pyDev中创建python发行包

Python 和 BeautifulSoup - 在带有 <dt> 和 <dd> 标签的 div 中指定字段时遇到问题

python - 调整 numpy 或数据集大小的有效方法?

python - 如何有效地找出序数中的数字是什么?