[python] 배열의 인덱스로 배열을 사용? (배열의 조건부 인덱싱)

일반적으로 배열의 내용을 조회할 때 정수를 사용합니다. 하지만 파이썬에서 배열의 내용을 조회할 때 인덱스로 배열을 전달할 수도 있습니다. 예를 들어 아래와 같이 10, 11, ... , 19, 20의 배열을 선언합니다.


a = np.arange(10, 21)


위 배열에서 2, 4, 5번 인덱스에 해당하는 내용만 추출하고자 한다면 아래와 같이 [2, 4, 5] 배열을 인덱스 인자로 전달하면 됩니다.


b = [2, 4, 5]
a[b]


위 코드를 실행하면 결과로 [12, 14, 15]가 출력되는 것을 확인할 수 있습니다.


원본 배열에서 특정 조건을 만족하는 항목만 추출하고 싶은 경우가 있습니다. 이런 경우 boolean array를 생성하여 배열의 인덱스로 전달하면 됩니다.


c = (abs(a) > 15)

print(c)
# Output: [False False False False False False  True  True  True  True  True]

a[c]
# Output: array([16, 17, 18, 19, 20])


끝.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

[PLC] PLC 아날로그 입출력 기본

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[PLC] 절연 변압기 (Isolation Transformer)

[수학] 정규 분포란? 왜 종 모양을 띠고 있을까?

[농사] 식물의 광합성과 호흡

제너 다이오드에 저항을 연결하는 이유

[자동화] 안쓰는 안드로이드폰을 활용한 식물 성장 타임랩스 촬영

[트레이딩] 현재 주가 기준으로 기대수익률은 어떻게 계산할까?

[PLC] 래더 다이어그램과 PLC