[Numpy 슬라이싱]

임동윤·2022년 10월 3일
0
post-thumbnail

bool 인덱싱

  • 관계 연산자를 통해 얻은 bool 요소로 이루어진 배열을 인덱스로 사용하여 배열에서 특정값들을 추출해보겠습니다.

bool 인덱싱

  • 우리는 Numpy의 특별한 관계 연산을 이용하여 다음과 같이 bool 요소로 이루어진 배열을 만들 수 있습니다.
>>> import numpy as np

>>> A = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1])
>>> print(A >= 4)
[False False False  True  True  True False False False]
  • 이제 해당 bool 배열을 인덱스로 사용하여 특정 요소들을 추출해봅시다.
>>> import numpy as np

>>> A = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1])
>>> B = (A >= 4)
>>> print(A[B])
[4 5 4]

관계 연산자를 이용한 요소 값 변경

  • 특정 구간의 해당하는 요소 값들을 변경하고 싶다면 다음과 같이 작성할 수도 있습니다.
>>> import numpy as np

>>> A = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1])

>>> A[(A > 1) & (A <= 3)] = 0
>>> print(A)
[1 0 0 4 5 4 0 0 1]

관계 연산

  • Numpy의 특별한 관계 연산을 배워봅시다.

Numpy의 특별한 관계 연산

  • 파이썬 객체 사이에 >, <, == 등 관계 연산자들을 사용하면 연산 결과로 True, False가 나옵니다. 그러나 numpy.ndarray타입의 배열에 관계 연산자를 사용하면 관계 연산의 결과가 하나의 bool타입의 값이 아닌 배열로 나옵니다.
    numpy.ndarray 배열에 관계 연산자를 사용하면 어떻게 출력하는지 살펴봅시다.
>>> import numpy as np

>>> A = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1])
>>> B = (A >= 4)
>>> print(B)
[False False False  True  True  True False False False]

2개 이상의 조건식

  • Numpy에서 논리 연산자를 사용하여 여러 조건식을 결합할 때, andor가 아닌 &|를 사용합니다. 2개의 조건식을 사용한 다음 코드를 살펴봅시다.
>>> import numpy as np

>>> A = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1])
>>> print((A > 1) & (A <= 3))
[False  True  True False False False  True  True False]
>>> print((A > 3) | (A < 2))
[ True False False  True  True  True False False  True]

profile
AI Tensorflow Python

0개의 댓글