-1
使用a.any()或a.all()假設我有這樣的功能:具有多個元素的數組的真值是不明確的。在python
a = np.array([-2,1,-5,2])
if a <0:
a += 10
print (a)
爲什麼我收到此錯誤。
如果我只傳遞一個值,那麼它是okey。如何解決這個問題呢?
謝謝你提前。
使用a.any()或a.all()假設我有這樣的功能:具有多個元素的數組的真值是不明確的。在python
a = np.array([-2,1,-5,2])
if a <0:
a += 10
print (a)
爲什麼我收到此錯誤。
如果我只傳遞一個值,那麼它是okey。如何解決這個問題呢?
謝謝你提前。
您可以通過索引用布爾陣列(a < 0
)簡單的增加:
a[a < 0] += 10
numpy
做元素明智的比較和添加,並矢量化。的if-else
在numpy
直接翻譯爲np.where()
:
import numpy as np
a = np.where(a < 0, a + 10, a)
# array([8, 1, 5, 2])
你跟一個整數比較列表,它會給你類型錯誤。這個問題真的不清楚,但是如果你想使用'any'或'all',就像在標題中那樣,使用'if any(a):'或'if all(a):'。請詳細說明你正在嘗試做什麼。 – FlipTack
您正在嘗試將MANY與ONE值進行比較。這不可能。 – Psytho
SO上有很多重複的內容討論這個錯誤信息。 –