Проверьте, существует ли массив внутри массива 2D numpy - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь проверить, существует ли массив внутри массива 2D numpy. Но если два массива имеют одинаковые компоненты, программа считает, что они равны, я хочу дифференцировать два массива, которые имеют одинаковые значения, но в разном порядке. Я пытаюсь этот код, но он не работает как задумано:

a=np.array([255,254,255])
b=np.array([254,255,255])
c=np.array(b)
if a not in c: #this line says it exists, it shouldnt

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Используйте all, чтобы проверить, равны ли все элементы массива numpy:

import numpy as np

a = np.array([255, 254, 255])
b = np.array([254, 255, 255])
c = np.array(b)

if not all(a == c):
    pass
0 голосов
/ 01 апреля 2020

Используйте методы numpy any и all

if (a == c).all(0):
    #do stuff

. Сравнение сравнивает каждый элемент каждого массива и создает новый массив логических значений относительно того, есть ли записи с одинаковым индексом в обоих массивы равны.

Затем метод all возвращает единственное логическое значение на основе логических значений в массиве. Параметр 0 указывает на ось 0 (единственная в двумерном массиве),

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...