Как заменить отрицательные значения нулем в numpy
Вы можете использовать следующий базовый синтаксис для замены отрицательных значений нулем в NumPy:
my_array[my_array < 0 ] = 0
Этот синтаксис работает с 1D и 2D массивами NumPy.
Следующие примеры показывают, как использовать этот синтаксис на практике.
Пример 1. Замена отрицательных значений нулем в 1D массиве NumPy
Следующий код показывает, как заменить все отрицательные значения нулем в массиве NumPy:
import numpy as np
#create 1D NumPy array
my_array = np. array ([4, -1, 6, -3, 10, 11, -14, 19, 0])
#replace negative values with zero in array
my_array[my_array < 0 ] = 0
#view updated array
print (my_array)
[4 0 6 0 10 11 0 19 0]
Обратите внимание, что каждое отрицательное значение в исходном массиве было заменено нулем.
Пример 2. Замена отрицательных значений нулем в 2D-массиве NumPy
Предположим, у нас есть следующий 2D-массив NumPy:
import numpy as np
#create 2D NumPy array
my_array = np. array ([3, -5, 6, 7, -1, 0, -5, 9, 4, 3, -5, 1]). reshape (4.3)
#view 2D NumPy array
print (my_array)
[[ 3 -5 6]
[ 7 -1 0]
[-5 9 4]
[3 -5 1]]
Мы можем использовать следующий код, чтобы заменить все отрицательные значения нулем в массиве NumPy:
#replace all negative values with zero in 2D array
my_array[my_array < 0 ] = 0
#view updated array
print (my_array)
[[3 0 6]
[7 0 0]
[0 9 4]
[3 0 1]]
Обратите внимание, что все отрицательные значения в исходном 2D-массиве заменены нулями.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в NumPy:
Как заполнить массив NumPy значениями
Как удалить определенные элементы из массива NumPy
Как заменить элементы в массиве NumPy
Как получить определенную строку из массива NumPy