[python] NumPy를 사용하여 다차원 배열의 값들을 대체(replace)하는 방법은 무엇인가요?

NumPy는 다차원 배열을 다루기 위한 파이썬 라이브러리입니다. 다차원 배열의 값을 대체하는 방법으로는 np.where() 함수를 사용할 수 있습니다.

np.where() 함수를 사용하여 조건에 따라 값을 대체할 수 있습니다. 원하는 조건을 입력하고, 조건이 참일 때의 값을 지정하고, 조건이 거짓일 때의 값을 지정합니다.

다음은 NumPy를 사용하여 다차원 배열의 값들을 대체하는 예제 코드입니다.

import numpy as np

# 2차원 배열 생성
arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])

# 배열의 값을 대체
replaced_arr = np.where(arr > 5, 0, arr)

print(replaced_arr)

위의 코드에서는 2차원 배열 arr에 대해 조건 arr > 5를 설정하였습니다. 조건이 참일 때(arr > 5True인 원소)는 0으로 대체하고, 조건이 거짓일 때(arr > 5False인 원소)는 원래의 값으로 대체합니다. 결과적으로 5보다 큰 원소는 0으로 대체되고, 5 이하의 원소는 그대로 유지됩니다.

실행 결과는 다음과 같이 출력됩니다.

[[1 2 3]
 [4 5 0]
 [0 0 0]]

따라서 NumPy의 np.where() 함수를 사용하면 다차원 배열의 값을 대체할 수 있습니다.

참고 자료: