34
変数がNoneかnumpy.arrayであるかどうかを確認したいと思います。私はこれを行うにはcheck_a
関数を実装しました。変数がNoneかnumpy.arrayかをチェックする際のValueError
def check_a(a):
if not a:
print "please initialize a"
a = None
check_a(a)
a = np.array([1,2])
check_a(a)
ただし、このコードはValueErrorを発生させます。まっすぐ進む道は何ですか?
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()
この「ValueError」は、最も一般的な「numpy」質問の1つです。これは 'not a'が(この場合)2つの値を持つブール値の配列を生成することを意味します。このブール値配列は 'if'条件として使うことはできません! 'is None'の代替案は知っておいてほしいですが、このエラーも理解しておく必要があります。 – hpaulj