как удалить строку из матрицы - PullRequest
0 голосов
/ 08 октября 2019

У меня есть 2 матрицы: matrix_1 и matrix_2

matrix_1 = np.array[[1,2,3],[4,N,6],[7,8,9],[N ,1,2]]

matrix_2 = np.array[[2,4,5],[3,6,7],[3,6,8],[1,3,6]]

, и я хочу удалить строку, содержащую N, а также удалить соответствующую строку matrix_2

, например, вmatrix_1 я хочу, чтобы он удалил строку [4,N,6], а также удалил [3,6,7] # соответствующую строку в матрице 2, я хочу, чтобы это было сделано для всех строк, содержащих N

    result = []
    def testanswer(matrix_1,matrix_2):
        for i in range(len(matrix_1)):
            answer = matrix_1[i,1]*matrix_1[i,2]*np.cos(np.deg2rad(matrix_1[i,0]))
            answer2 = matrix_2[i,1]*matrix_2[i,2]*np.cos(np.deg2rad(matrix_2[i,0])) 
            result.append([answer,answer2])
        return result

1 Ответ

1 голос
/ 08 октября 2019

Попробуйте этот код:

>>> import numpy as np
>>> # Supose that N = -1
>>> a = np.array([[1,2,3],[4,-1,6],[7,8,9],[-1 ,1,2]])
>>> b = b = np.array([[2,4,5],[3,6,7],[3,6,8],[1,3,6]])
>>> keep_idx = np.all(a != -1, axis=1)
>>> a[keep_idx]
array([[1, 2, 3],
       [7, 8, 9]])
>>> b[keep_idx]
array([[2, 4, 5],
       [3, 6, 8]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...