python - 使用 numpy 数组计算时放置条件

标签 python numpy

下面是一小段代码,由于某种原因不断生成以下值错误消息:ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()。

import numpy as np
p=np.array([1,2,3])
q=np.array([4,5,5])

while p + q==7:
        try:
            assert p.any()
            assert q.any()
        except AssertionError:
            print('(p + q)<=6')
        print  (p + q)

我已经尝试了 p.anyp.all,仍然得到同样的错误信息。有什么建议么?谢谢。

最佳答案

你的问题是 pq 各有三个元素,所以 p + q == 7 也有三个元素。对于 while 循环,您需要一些可以解释为 True 或 False 的东西 - 错误告诉您三个元素不能在没有更多信息的情况下解释为 True 或 False:它是不明确的。如果您希望所有元素都等于 7,请使用

while np.all(p + q == 7):

如果你想让它们中的任何一个相等,使用

while np.any(p + q == 7):

关于python - 使用 numpy 数组计算时放置条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18397869/

相关文章:

python - 如何从Excel单元格中提取数字

python - Numpy 数组索引问题

python - 将表示为 numpy ndarray 的彩色图像更改为灰度

python - 从 32 位移动到 64 位后 PyQtGraph 不工作

python - 是否可以将多个 TensorFlow 图合并为一个?

python - 使用 selenium 刷新页面导致 StaleElementReferenceException 错误

python - 将所有 pcap 文件转换为包含所需列的 csv python

python - TfidfVectorizer 尊重带连字符的化合物(用连字符连接的单词)

python - numpy.argmax() 不适用于我排序的 pandas.Series

python - 向随机游走图添加动画 [Python]