Проверьте, соответствуют ли значения в матрице значениям из массива, и, если нет, верните индекс матрицы - PullRequest
1 голос
/ 12 мая 2019

Итак, у меня есть матрица с набором данных, и я хотел бы функцию, которая сравнивает все значения из матрицы с массивом, чтобы проверить, присутствуют ли значения в матрице в массиве, и если нет, возвращает индекс значения,

Я попытался настроить петлю Доббел для for в

#the array with the values the matrixs values is compared 
Grades=np.array([-3,0,2,4,7,10,12])

#the dobbelt for loop
for u in range(0,len(data)):
        for j in range(0,len(data.T)):
            if not data[u,j] in Grades:
                # Error message is printed if a values isn't a found in the array.
                print("Error in {}, {}".format(u,j))

Я получил ошибку во всех значениях ... Ошибка в 1,2, Ошибка в 1,3, Ошибкав 1,4, ошибка в 1,5 ... ошибка в 10,4, ошибка в 10,5, ошибка в 10,6, ошибка в 10,7

1 Ответ

0 голосов
/ 12 мая 2019

Поскольку вы не указали данные, поэтому я принимаю data как 3*3 matrix, но этот код будет работать для каждой матрицы.

Grades=np.array([-3,0,2,4,7,10,12])
data = np.array([[1,2,3], [4,5,6], [7,8,9]])

#the dobbelt for loop
for u in range(data.shape[0]):
        for j in range(data.shape[1]):
            if data[u,j] not in Grades:
                # Error message is printed if a values isn't a found in the array.
                print("Error in {} for {} - {}".format(data[u,j], u,j))

Вывод:

Error in 1 for 0 - 0    # 1 is not present in given array and it's index is (0, 0)
Error in 3 for 0 - 2
Error in 5 for 1 - 1
Error in 6 for 1 - 2
Error in 8 for 2 - 1
Error in 9 for 2 - 2

Надеюсь, это разрешит ваш запрос.

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