34
Değişken Yok veya numpy.array olup olmadığını kontrol etmek istiyorum. Bunu yapmak için check_a
işlevini uyguladım.Değer Değişken olup olmadığını denetlerken Değer Yok veya numpy.array
Ancak, bu kod ValueError'ı yükseltir. Doğru yol nedir? Eğer isinstance
kullanmak Ayrıca eğer
# be careful not to check for np.array but for np.ndarray!
if type(a) is np.ndarray:
...
else:
...
, aynı zamanda bunun alt sınıfları için True
döndürür:
ValueError Traceback (most recent call last)
<ipython-input-41-0201c81c185e> in <module>()
6 check_a(a)
7 a = np.array([1,2])
----> 8 check_a(a)
<ipython-input-41-0201c81c185e> in check_a(a)
1 def check_a(a):
----> 2 if not a:
3 print "please initialize a"
4
5 a = None
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Bu 'ValueError', en yaygın 'numpy' sorularından biridir. Bu, "bir" değil, bir boole dizisi üretiyor demektir (bu durumda) 2 değerleri. Bu boole dizisi bir 'if' koşulu olarak kullanılamaz! 'Yok'dur' alternatifi bilmek iyidir, ancak bu hatayı da anlamalısınız. – hpaulj