본문 바로가기
Pandas

[Pandas] Numpy

by moveho 2022. 11. 1.

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를 만들어 볼 수 있다.

 

 

 

 

 

 

 

이렇게 넘파이의 기본적인 구조 및 형태에 대해 알아 보았다.

다음에는 넘파이로 활용 할 수 있는 다양한 방법에 대해서 알아보도록 하겠다!

 

 

 

 

 

댓글