python

[numpy] 2차원 배열 | np.zeros(), np.ones(), np.empty(), np.full()

전감자(◔◡◔) 2022. 9. 28. 18:57
'''

np.zeros((행,열)) ==> shape에 일치하는 0값으로 ndarray 반환, 기본타입은 float64 (8byte)
                    dtype=int , dtype=np.int64 등으로 타입 변경도 가능하다.
np.ones((행,열)) ==> shape에 일치하는 1값으로 ndarray 반환, 기본타입은 float64 (8byte)
np.empty((행,열)) ==> shape에 일치하는 임의의 값으로 ndarray 반환
np.full((행,열)) ==> shape에 일차하는 지정값으로 ndarray 반환
'''

import numpy as np

#1.np.zeros()
print("1.np.zeros(shape)")
s=np.zeros(5)
print(s)
s=np.zeros((2,3),dtype=int)#[[0 0 0][0 0 0]]
s=np.zeros((2,3),dtype=np.int64) #크기 명시
print(s)

#2.np.ones()
print("2.np.ones(shape)")
s=np.ones((2,3))
print(s)#[[1. 1. 1.][1. 1. 1.]]
s=np.ones((2,3),dtype=int)#[[1 1 1][1 1 1]]
s=np.ones((2,3),dtype=np.int64) #크기 명시
print(s)


#3.np.empty()
print("3.np.empty(shape)")
s=np.empty((2,3))#[[1. 1. 1.] [1. 1. 1.]]
print(s)
s=np.empty((2,3),dtype=int)##[[4607182418800017408 4607182418800017408 4607182418800017408][4607182418800017408 4607182418800017408 4607182418800017408]]
s=np.empty((2,3),dtype=np.int64) #크기 명시
print(s)

#4.np.full(shape,값)
print("4.np.full(shape,값)")
s=np.full((2,3),100)#100값을 10개의 요소로 반환 1차원
print(s)#[[100 100 100][100 100 100]]
print()

'''
다차원 배열 이해하기

(층,행,열)
1. 열 해석하고 행 해석하고 층 해석
2. 열은 1차원의 요소 길이
   행은 1차원의 길이
   층은 2차원의 길이
   
예> (2,3,1) 의미?
 `1. 열 값이 1이기 때문에 1차원의 길이가 1개 있음을 의미. 즉,[10]
  2. 행 값이 3이기 때문에 1차원인 [10]가 3개 있음을 의미. 즉 [[10][10][10]]
  3. 층 값이 2이기 때문에 2차원인 [[10][10][10]] 가 2개있음을 의미한다.

즉. [
[[10][10][10]]
[[10][10][10]]
]

'''
s=np.full((2,3,1),100)
print(s)
'''
[[[100]
  [100]
  [100]] 

 [[100]
  [100]
  [100]]]
  3차원 리스트 보는 법: 가장 바깥쪽 값부터 1개 그 한 개가 다시 3개 그 3개가 2개

(3X3X3) 행렬 (층,행,열)

[[[100,100,100]
[100,100,100]
[100,100,100]]

[[100,100,100]
[100,100,100]
[100,100,100]]

[[100,100,100]
[100,100,100]
[100,100,100]]]
'''