군침이 싹 도는 코딩
Python library - Numpy 본문
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 |