Использование NumPy с Python 2.7, я хочу, чтобы создать массив y
н-на-2. Затем я хочу проверить, содержит ли этот массив конкретный массив 1 на 2 z
в любом из его строк.Проверяется массив NumPy содержит другой массив
Вот что я пытался до сих пор, и в этом случае п = 1:
x = np.array([1, 2]) # Create a 1-by-2 array
y = [x] # Create an n-by-2 array (n = 1), and assign the first row to x
z = np.array([1, 2]) # Create another 1-by-2 array
if z in y: # Check if y contains the row z
print 'yes it is'
Однако, это дает мне следующую ошибку:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Что я делаю неправильно?
Это будет довольно медленно, так как он не векторизации кода. Я пробовал с «n = 10000», и этот подход более чем в 140 раз медленнее, чем векторный подход. – TheBlackCat
Да, я действительно поддержал ваш ответ и уточнил, что у меня были сомнения относительно скорости в моей. Тем не менее, у ОП не было явных требований относительно скорости, поэтому я не думаю, что должен удалить свой ответ; но я думаю, что ваш должен быть тем, который был отмечен как принятый. –