Python/Build setting
[Numpy]넘파이 배열 생성(zeros_like, ones_like, full_like, empty_like)
소소한 혜밍씨
2022. 8. 24. 15:46
넘파이 배열을 생성하고자 할 때 기존에 생성된 array의 형태를 따올 수 있다.
그 함수가 바로 ~_like 인데 ~처럼 만들어줘 라고 보면 이해하기 쉬울 것 같다.
# 기존에 생성되었던 numpy array
a = np.zeros((3,4))
# _like 이용하여 배열을 가지고 오되, zeros(0) 으로 채우기
e = np.zeros_like(a)
# 출력
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
# 기존에 생성되었던 numpy array
a = np.zeros((3,4))
# _like 이용하여 배열을 가지고 오되, ones(1) 으로 채우기
f = np.ones_like(a)
# 출력
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
# 기존에 생성되었던 numpy array
a = np.zeros((3,4))
# _like 이용하여 배열을 가지고 오되, 2 로 채우기
g = np.full_like(a, 2)
# 출력
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
# 기존에 생성되었던 numpy array
a = np.zeros((3,4))
# _like 이용하여 배열을 가지고 오되, 숫자는 넣지 않고 그 공간만 가져오기
h = np.empty_like(a)
# 출력
[[2.33430593e-310 4.67324716e-310 0.00000000e+000 0.00000000e+000]
[0.00000000e+000 0.00000000e+000 0.00000000e+000 0.00000000e+000]
[0.00000000e+000 0.00000000e+000 0.00000000e+000 0.00000000e+000]]
위의 zeros_like, ones_like, full_like, empty_like 의 출력 결과를 확인해보면
기존에 만들어진 a의 배열인 (3, 4) 를 가져오되
그 공간을 어떻게 채워서 가지고 올지 혹은 채우지 않고 공간 그 자체만 가지고 올지 지정할 수 있음을 알 수 있다.