Python - [Pandas]자료 분석을 위한 Pandas 기초

컴퓨터/Python

728x90
반응형

서론

Python을 이용하여 어떠한 데이터를 처리하는 과정에서 기본적으로 제공하는 리스트나, 딕셔너리등으  자료구조만으로는 생각보다 한계점이 많습니다.  

조금 더 손쉽게 데이터를 다루기 위해서 Python에는 NumPy , Pandas 등이 존재합니다.

 

이런 라이브러리들은 Python에서 데이터들을 손쉽게 정제 및 분석을 할 수 있게 도움을 줄 수 있습니다.

본문에서는 Pandas에 대해서 알아보고 Pandas의 종류를 구현해보는 실습을 해보도록 합시다.

 

Pandas가 무엇인가?

앞서 서론에서 말했다시피 손쉽게 데이터를 정제할 수 있도록 도와주는 라이브러리 형태의 패키지입니다.

일종의 자료구조를 구현환 관리 도구인 셈이죠. 

 

Pandas는 Table구조의 형태로 자료를 관리한다고 생각하면 조금 더 이해가 쉬울 수 있습니다.

마치 DB나 엑셀과 비슷한 형태로 Python에서 데이터를 취급하기 위한 라이브러리입니다.

 

장점

Pandas를 사용하기 위해 Pandas를 배우고 익숙해지는 과정에는 시간이 필요합니다.

우선 왜 Pandas가 좋은지 몇 가지 장점에 대해서 알아보도록 합시다.

  • 엑셀, DB, CSV 등의 파일을 손쉽게 읽고 Python에서 다룰 수 있게 해 준다.
  • DB SQL처럼 다양한 질의를 지원한다.
  • 다양한 데이터를 테이블처럼 조작하고 수정할 수 있다.

위와 같은 기능을 일일이 구현하는 것보다 Pandas를 배우고 익숙해지는 과정이 조금 더 효율적일 수 있습니다.

 

종류

Pandas는 2가지 형태의 클래스로 데이터를 나타냅니다.

바로 시리즈(Series)와 데이터 프레임(DataFrame)입니다.

 

두 클래스의 특징을 살펴보도록 합시다.

 

Series(시리즈)

Series클래스는 얼핏 보면 리스트나 튜플과 비슷한 형태의 자료구조입니다. 

인덱스와 값으로 저장되어 있는 형태의 자료구조입니다.

다만, 인덱스를 원하는 값으로 설정하여 조금 더 효과적으로 사용할 수 있는 것이 리스트와 가장 큰 차이점이라고 할 수 있습니다.

 

Series 자료구조 예시
Index Value
'2020' 1.0
'2021' 1.5
'2022' 2.0

 

DataFrame(데이터 프레임)

DataFrame클래스는 엑셀이나 DB처럼 테이블의 형태의 자료구조입니다.

같은 크기의 자료들로 이루어진 열들을 차례대로 모아 놓은 형태로 다양한 익숙한 테이블 형태의 데이터 표입니다.

DataFrame 자료구조 예시
  년도 성장률 자산
0 2018 0.95 1,000,000
1 2019 1.12 1,120,000
2 2020 1.0 1,120,000
3 2021 1.5 1,680,000
4 2022 2.0 3,360,000

 

실습해보기 - 준비

이제 다양한 라이브러리를 사용하려면 패키지를 다운로드하고 import 시켜야 되는 것을 알고 있으리라 생각합니다.

우선 2가지의 과정을 실행해 주도록 합시다.

pip install pandas
import pandas

 

Series 구현

Series는 인덱스와 값으로 구성되어있는 자료구조라고 했습니다.

인덱스의 경우 아무런 설정을 하지 않으면 자료의 크기가 N이라면 0번부터 N-1의 숫자만큼 자동으로 부여됩니다.

import pandas

series = pandas.Series([1.0,1.5,2.0])
print(series)

리스트와 시리즈의 가장 큰 차이점은 인덱스의 값을 지정해 줄 수 있다고 했습니다. 

지정을 해주는 방법은 아래와 같습니다.

import pandas

series = pandas.Series([1.0,1.5,2.0],index=["2020","2021","2022"])
print(series)

DataFrame 구현

이제 자료들을 테이블의 형태로 구현하는 DataFrame을 구현해 보도록 합시다.

import pandas

datas = {
    "년도" : [2018,2019,2020,2021,2022],
    "성장률" : [0.95,1.12,1.0,1.5,2.0],
    "자산" : [1000000,1120000,1120000,1680000,3360000]
}

dataframe = pandas.DataFrame(datas)

print(dataframe)

마침과 고찰

본문을 읽으면 Pandas가 무엇인지는 어렴풋이 이해할 수 있어도, 왜 사용하는가에 대해서는 아직 의문점이 많이 듭니다.

또한 어떻게 사용하는지에 대해서도 생략된 부분이 많습니다.

 

본문의 목표는 pandas란 무엇이며, 어떠한 형태의 자료구조를 지원하는가이기 때문에 이 내용만을 이해하고 있어도 충분합니다.

 

다음 포스트에서는 번개장터 크롤링 실습에서 얻어온 데이터를 pandas에 넣어보고 어떻게 활용할 수 있는가를 살펴보도록 하겠습니다.

 

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :