Numpy는 수치 데이터를 다루는 python package다. Numpy의 핵심인 다차원 행렬 자료구조인 array를 통해 벡터 및 행렬을 사용하는 선형 대수 계산에서 주로 사용된다. Numpy의 계산은 python에 비해 빠르고 편리하다.
넘파이에 대해 구체적으로 알기 전 기본적으로 알고 들어가면 좋은 단어들의 의미들을 먼저 살펴보자!
Scalar : 한개의 원소로 이루어진 데이터
Vector : 원소들이 모인 집합으로 1차원 배열에 속하고, 각원소의 데이터 타입이 동일. Series
array : 벡터들을 모아놓은 데이터 집합으로 2차원의 배열이고, Matrix라 불린다.
Tensor : 백터에 높이를 추가한 형태로 같은 크기의 행렬들을 모아놓은 데이터 집합
이를 참조하여 array 구조에 대해 살펴보자.
넘파이의 데이터 구조 형태는 행, 열, 높이 단위로 부여되는것이 아니라, axis = 1, axis =0 과 같은 형태로
axis의 단위로 부여된다!
axis = 0 은 행을 세는 방향이고 ( row )
axis = 1 은 열을 세는 방향이다! ( columns )
1) np.array()
1차원 구조
array 구조는 핵심이라 할 수 있다. 리스트나, 튜플, 배열에서 array를 만들 수 있다.
파이썬에서도 많이 사용했던 리스트의 자료 구조로 1차원의 array를 살펴보자
import numpy as np
관례적으로 np라고 칭하여 사용하고 넘파이 사용전 꼭 import 먼저 해주자
# [10,20,30] 리스트 데이터를 ndarray로 생성하기
ar = np.array([10,20,30])
print(type(ar))
print(ar)
print(ar.shape) #튜플
print(ar.ndim) # 차원의 수 ndim
print(ar.dtype) # data 타입
print(ar.size) # 요소의 갯수
이렇게 1차원 array 인 리스트를 갖고 array를 만들어 보았다.
총 3개의 요소를 가진 int 타입의 1차원 데이터인것이다.
2차원 구조
ar = np.array([[1,2,3], [4,5,6]])
print(ar)
printinfo(ar)
이렇게 2차원 구조인 array를 만들어 보았다.
array를 통해 리스트를 [ ] 로 묶어 나열해 주는 형식으로 만들 수 있다.
3차원 구조
ar = np.array([[[0, 1, 2],
[3, 4, 5],
[6, 7, 8]],
[[9, 10 ,11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]], dtype = float)
printinfo(ar)
print(ar.shape)
print(ar.ndim)
print(ar.size)
ar.sum(axis=2)
다음과 같은 3차원 구조의 array를 만들어 볼 수 있다.
이렇게 넘파이의 기본적인 구조 및 형태에 대해 알아 보았다.
다음에는 넘파이로 활용 할 수 있는 다양한 방법에 대해서 알아보도록 하겠다!
'Pandas' 카테고리의 다른 글
[Pandas] Numpy - matplotlib, seaborn를 이용한 자료 시각화 (2) | 2022.11.01 |
---|---|
[Pandas] Numpy - np.zeros, ones, full, eye, random 알아보기 (0) | 2022.11.01 |
[Pandas] Google Colab Notebooks 이용해보기 (with Google Drive) (0) | 2022.10.31 |
[Pandas] Data 다루기 (About : null data) (2) | 2022.10.30 |
[Pandas] 시리즈와 데이터 프레임 Series and Dataframe(with anaconda) (2) | 2022.10.28 |
댓글