Ответ 1
>>> a = np.array([[1,2,3], [4,5,np.nan], [7,8,9]])
array([[ 1., 2., 3.],
[ 4., 5., nan],
[ 7., 8., 9.]])
>>> a[~np.isnan(a).any(axis=1)]
array([[ 1., 2., 3.],
[ 7., 8., 9.]])
и переназначьте это на a
.
Объяснение: np.isnan(a)
возвращает аналогичный массив с True
, где NaN
, False
в другом месте. .any(axis=1)
уменьшает массив m*n
до n
с логической операцией or
во всех строках, ~
инвертирует True/False
и a[ ]
выбирает только строки из исходного массива, которые имеют True
в скобках.