본문 바로가기

카테고리 없음

[파이썬] Pandas의 자료구조 Series와 DataFrame

판다스(Pandas)는 파이썬에서 사용할 수 있는 엑셀과 유사한 데이터 분석 라이브러리입니다. 판다스를 이용하면 표로 정리된 다양한 데이터(excel, csv, sql 등)를 자유자재로 다룰 수 있습니다. 엑셀에서 데이터를 다루는 것과 유사하지만 더 빠르고 효율적으로 처리할 수 있습니다.

 

Pandas를 사용하면 무슨 장점이 있을까

1. 대용량 데이터(GB 단위 이상)를 다룰 수 있습니다. 엑셀은 데이터 용량이 100MB을 넘어가거나, 데이터가 100만 행이 넘어가면 정상적으로 작동하지 않는 현상을 겪기도 합니다.
2. 복잡한 처리 작업들을 비교적 손쉽게 할 수 있습니다. 소위 말하는 엑셀 노가다를 할 필요가 없습니다.
3. 손쉽게 데이터를 결합하고 분리할 수 있습니다. SQL처럼 데이터를 합치고 관계 연산을 수행할 수 있습니다.

 

데이터 읽어오기

Pandas는 데이터를 읽어오는 여러가지 함수를 제공합니다. 대표적으로 pd.read_csv('파일명.csv'), pd.read_excel('파일명.xlsx'), pd.read_sql('쿼리')가 있습니다. 

 

시리즈(Series)와 데이터프레임(DataFrame)

Pandas는 데이터를 다루기 위해서 1) 시리즈, 2) 데이터프레임이라는 자료 구조(Data Structure)를 사용합니다. 데이터프레임은 엑셀이나 구글의 스프레드 시트와 매우 유사한 개념이며 시리즈는 엑셀 시트(Sheet)의 열 1개를 생각하면 이해하기 쉽습니다.

 

데이터프레임(DataFrame)의 구성 요소

데이터프레임은 크게 세가지 구성 요소를 가지고 있습니다. 1) 행(index), 2) 열(columns), 3) 값(values)입니다. 각각의 구성 요소는 데이터프레임의 속성을 이용해서 확인할 수 있습니다.

 

판다스 데이터프레임 구조

 

•  .index: 각각의 행 데이터의 의미(이름)를 나타냅니다. 별도로 인덱스를 지정하지 않는다면 인덱스는 0부터 시작하는 정수값이 부여됩니다.
•  .columns: 각각의 열 데이터의 의미(이름)를 나타냅니다.
•  .values: 데이터 자체에 해당하며 값(value)를 나타냅니다.

 

위의 내용을 코드로 나타내면 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
# pandas 패키지를 읽어옵니다. 관용적으로 pd라는 축약어로 사용합니다.
import pandas as pd
# 데이터를 읽어옵니다.
df = pd.read_csv("./movie_star.csv")
 
print(df.index)
# >>> Index(['US', 'CA', ..., 'AU'], dtype='object', name='idx')
print(df.columns)
# >>> Index(['name', 'age', ..., 'height'], dtype='object')
print(df.values)
# >>> array([['Scarlett Johansson', 34, ..., 160], ['Ryan Reynolds', 43, ..., 188], ... ], dtype='object')

 

 

-이 글은 아나콘다(Anaconda3)가 설치된 환경을 기준으로 작성되었습니다.