본문 바로가기
파이썬/통계분석

[파이썬 강의] 47. 자료구조 - 배열 (Numpy Array)

by 만다린망고 2021. 10. 14.
반응형

파이썬에서 기본적으로 제공하는 자료구조는 리스트, 튜플, 딕셔너리, 집합이 있습니다. 또 사람들이 파이썬을 더 편하게 쓰기위해 만들어낸 자료구조로 Array, Series, DataFrame 이 있습니다.

- 리스트
- 튜플
- 딕셔너리
- 집합
- Array (넘파이 패키지)
- Series (판다스 패키지)
- DataFrame (판다스 패키지)

오늘 배워볼 자료구조는 배열(Array)입니다. 배열은 아마 파이썬에서 가장 많이 사용하는 자료구조일 것입니다. 벡터가 1차원 배열, 행렬이 2차원 배열이라는 것을 지난 시간에 이미 이야기했습니다. 

파이썬에서 배열을 하나 정의해봅시다. 먼저 numpy 를 불러오는데 np라고 줄여서 부르겠다고 선언합니다. 

>>> import numpy as np


배열은 array 라는 함수를 이용하여 정의합니다. 

>>> ar1=np.array(3)
>>> ar1
array(3)


3이라는 원소 하나만 갖는 배열입니다. 물리 용어로는 스칼라라고 부를 수 있겠네요. 

이번에는 벡터를 정의해봅시다. 

>>> ar1=np.array(1,2,3)
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    ar1=np.array(1,2,3)
TypeError: array() takes from 1 to 2 positional arguments but 3 were given


그냥 콤마로 원소를 구분하면 오류가 발생합니다. 리스트나 튜플을 사용해주어야 합니다. 일반적으로 리스트를 이용하여 정의합시다. 리스트를 배열로 변경했다고 할 수도 있습니다. 

>>> ar1=np.array([1,2,3])
>>> ar1
array([1, 2, 3])


(1,2,3)인 벡터를 정의했습니다. 행렬과 그 이상의 차원을 가진 배열도 정의할 수 있는데 다른 영상에서 다루겠습니다. 

아래와 같이 문자열,집합,딕셔너리도 입력이 가능합니다. 

>>> np.array('hello')
array('hello', dtype='<U5')

>>> np.array({1,2,3})
array({1, 2, 3}, dtype=object)

>>> np.array({'a':3})
array({'a': 3}, dtype=object)


모든 자료형과 자료구조를 입력할 수 있기는 하지만 배열이라는 자료형이 만들어진 목적은 '과학 계산' 입니다. 따라서 리스트로 정의되었고, 숫자가 입력된 배열에 초점을 맞춰서 설명을 진행하겠습니다.  

이와 같은 배열은 아래와 같은 특징을 갖습니다. 

1) 인덱싱 가능
2) 값 수정 가능
3) 값 제거, 추가 가능
4) 데이터 타입 설정 가능
5) 벡터, 행렬 연산 가능
6) 배열 합치기 가능
7) 평균, 합, 분산, 표준편차 계산 가능
8) 최댓값, 최솟값 계산 가능
9) 반올림, 올림, 버림, 내림 가능

그 외 다양한 기능들이 있습니다. 주요 내용들 위주로 배워봅시다. 

반응형

댓글