군침이 싹 도는 코딩

Python library - Numpy 본문

Python/Numpy

Python library - Numpy

mugoori 2022. 11. 22. 17:54

Numpy 는 데이터를 효율적으로 저장할수있는 data structure 이다.

 

  Numpy를 만드는 법

import numpy as np

# 1차원 데이터 (벡터) 를 만드는법
x=np.array(a)
x
>>> array([1, 3, 2, 8, 4])
# 2차원 데이터 (행렬) 를 만드는법
X=np.array( [ [10,4] , [6,8] ] )
X
>>> array([[10,  4],
          [ 6,  8]])

 

 

  Numpy 데이터 모양을 확인하는법

x
>>> array([1, 3, 2, 8, 4])
x.shape
>>> (5,) # 데이터를 5개 저장하고 있다라는 뜻

 

   Numpy 데이터 타입을 확인하는법

x.dtype
>>> dtype('int32') # 32는 32비트라는 뜻

 

 

   Numpy 데이터 갯수를 확인하는법

x.size
>>> 5

 

 

   Numpy 데이터의 연산법

X
>>> array([[10,  4],
          [ 6,  8]])

# 최대값
X.max()
>>> 10

# 최소값
X.min()
>>> 4

# 평균값
X.mean()
>>> 7.0

# 표준편차
X.std()
>>> 2.23606797749979

# 더하기
X.sum()
>>> 28

 

 

   Numpy 데이터 Save and Load

X
>>> array([[10,  4],
          [ 6,  8]])
np.save('my_array',X)
>>>  # my_array.npy 라는 파일이 생김

Y=np.load('my_array.npy')
Y
>>> array([[10,  4],
          [ 6,  8]])

 

 

   Numpy 데이터 특정값으로 만들기

# 숫자 0으로 되있는 1차원 배열
np.zeros(7)
>>> array([0., 0., 0., 0., 0., 0., 0.])


# 숫자 0으로 되있는 2차원 배열
np.zeros((3,4)) # 첫번째 행(가로) 두번째 열(세로)
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
     
     
# 숫자 1로 1차원 배열
np.ones(5)
>>> array([1., 1., 1., 1., 1.])


# 숫자 1로 2차원 배열
np.ones((4,3))
>>> array([[1., 1., 1.],
           [1., 1., 1.],
           [1., 1., 1.],
           [1., 1., 1.]])
           
           
# 원하는 숫자로 1차원 배열
np.full(3,7) # 첫번째 파라미터는 데이터의 shape, 두번째는 원하는 숫자
>>> array([7, 7, 7])


# 원하는 숫자로 2차원 배열
np.full((4,5),7)
>>> array([[7, 7, 7, 7, 7],
          [7, 7, 7, 7, 7],
          [7, 7, 7, 7, 7],
          [7, 7, 7, 7, 7]])

 

 

   Numpy 데이터 정수의 배열을 얻는법

# 0부터 9까지 정수
np.arange(10)
>>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])


# 4부터 19까지 정수
np.arange(4,19+1)
>>> array([ 4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])


# 2부터 151까지 2의 배수만
np.arange(2, 151+1, 2)
array([   2,   4,   6,   8,  10,  12,  14,  16,  18,  20,  22,  24,  26,
         28,  30,  32,  34,  36,  38,  40,  42,  44,  46,  48,  50,  52,
         54,  56,  58,  60,  62,  64,  66,  68,  70,  72,  74,  76,  78,
         80,  82,  84,  86,  88,  90,  92,  94,  96,  98, 100, 102, 104,
        106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130,
        132, 134, 136, 138, 140, 142, 144, 146, 148, 150])

 

 

   Numpy 데이터를 한번에 원하는 다차원 배열로 만드는 법

np.arange(5,5+25).reshape(5,5) 
>>> array([[ 5,  6,  7,  8,  9],
          [10, 11, 12, 13, 14],
          [15, 16, 17, 18, 19],
          [20, 21, 22, 23, 24],
          [25, 26, 27, 28, 29]])
          
# 먼저 5로 시작해 25로 끝나는 벡터를 만들고 리쉐이브로 5행5열의 행렬을 만들었다

 

'Python > Numpy' 카테고리의 다른 글

Python numpy 데이터 억세스 슬라이싱  (0) 2022.11.23
Python Numpy - axis  (0) 2022.11.23
Python numpy - random  (0) 2022.11.23