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) 를 가져오되

 

그 공간을 어떻게 채워서 가지고 올지 혹은 채우지 않고 공간 그 자체만 가지고 올지 지정할 수 있음을 알 수 있다.