Yeni 2d dizisini başlatmak için kullanmak istediğim 3 2d dizilerim var. Yeni 2d-dizisi, diğer 3 dizinin (x, y) konumlarındaki değerlere bağlı olarak 0 veya 1 (x, y) konumunda olmalıdır.Diğer dizilerden eşik değerlerine dayalı yeni 2d numpy dizisi oluştur
A = [[2, 3, 6], B = [[5, 9, 0], C = [[2, 7, 6],
[9, 8, 3], [2, 4, 3], [2, 1, 6],
[1, 0, 5]] [4, 5, 1]] [4, 6, 8]]
Ve bir mantık fonksiyonunu: Şimdi
D = [[0, 0, 1],
[0, 0, 0],
[0, 0, 1]]
:
D = (A > 4 && B < 5 && C > 5)
Bu 2d-dizi oluşturmak gerekir
Örneğin, ben bu 3 2d-diziler var Bunu döngüler için 2 ile yapabilirim, ama daha hızlı uyuşmuş bir yol olup olmadığını merak ediyordum?
DÜZENLEME: Burada
benim gerçek kod bir örnektir:
val_max = 10000
a = np.asarray(array_a)
b = np.asarray(array_b)
d = ((a >= val_max) and (b >= val_max)).astype(int)
Ama bu hatayı alıyorum:
Traceback (most recent call last):
File "analyze.py", line 70, in <module>
d = ((a >= val_max) and (b >= val_max)).astype(int)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
EDIT2:
ben kullanım olmalı yerine and
d &
operatörü (benzer '|' or
vs)
http://stackoverflow.com/questions/21996661/combining-logic-statements-and-in-numpy-array de bu çözebilir. –