Применить если оператор оператор к 3D массиву NumPy - PullRequest
0 голосов
/ 02 ноября 2019

у меня есть массив 92x92x1 в numpy, и для каждого значения в этом массиве, если значение больше 122, его следует преобразовать в 255, в противном случае его следует преобразовать в 0. Ранее я пытался;

new_array=[]
for i in arr:
    column=[]
    for j in i:
        if j>122:
            temp=255
        else:
             temp=0
        column.append(j)
    new_array.append(column)
new_array=np.resize(np.array(new_array),(92,92,1))

но должен быть более быстрый, более элегантный и более питонический способ сделать это! Есть ли какой-нибудь другой метод для отображения этих типов функций в 3D-массивы?

1 Ответ

2 голосов
/ 02 ноября 2019
import numpy as np

arr = np.random.randint(0, 255, (92, 92, 1))

arr[arr >= 122] = 255

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