반응형
조건이 충족되면 각 요소가 1 또는 0으로 변경되도록 조작해야하는 큰 numpy 배열이 있습니다 (나중에 픽셀 마스크로 사용됨). 배열에는 약 8 백만 개의 요소가 있으며 현재 방법은 축소 파이프 라인에 너무 오래 걸립니다.
for (y,x), value in numpy.ndenumerate(mask_data):
if mask_data[y,x]<3: #Good Pixel
mask_data[y,x]=1
elif mask_data[y,x]>3: #Bad Pixel
mask_data[y,x]=0
속도를 높일 수있는 numpy 함수가 있습니까?
해결 방법
>>> import numpy as np
>>> a = np.random.randint(0, 5, size=(5, 4))
>>> a
array([[4, 2, 1, 1],
[3, 0, 1, 2],
[2, 0, 1, 1],
[4, 0, 2, 3],
[0, 0, 0, 2]])
>>> b = a < 3
>>> b
array([[False, True, True, True],
[False, True, True, True],
[ True, True, True, True],
[False, True, True, False],
[ True, True, True, True]], dtype=bool)
>>>
>>> c = b.astype(int)
>>> c
array([[0, 1, 1, 1],
[0, 1, 1, 1],
[1, 1, 1, 1],
[0, 1, 1, 0],
[1, 1, 1, 1]])
다음과 같이 단축 할 수 있습니다.
>>> c = (a < 3).astype(int)
참조 페이지 https://stackoverflow.com/questions/19766757
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python 스크립트는`: No such file or directory`를 제공합니다. (0) | 2021.01.02 |
---|---|
파이썬 Jinja2의 다중 레벨 템플릿 상속? (0) | 2021.01.02 |
파이썬 NumPy loadtxt 데이터 유형 (0) | 2021.01.02 |
파이썬 while 루프에서 조건 동안 변수에 값 할당 (0) | 2021.01.02 |
파이썬 Python에서 이미지와 텍스트를 포함한 PDF 파일을 어떻게 생성합니까? (0) | 2021.01.02 |
댓글