My Blog

Latest blog


Intro

 Pandas는 데이터 분석을 하는데 유용한 파이썬 패키지 중 하나입니다. 데이터를 다루기 쉽고 편리하며 유연한 구조들을 제공하는데 그 중 하나가 DataFrame 입니다. 이 글에서는 DataFrame의 구조와 특징을 살펴보고 직접 데이터를 다뤄보갰습니다.

 이 글은 pandas의 공식 가이드 내 '10 minutes to pandas' 내용을 참고했습니다. 항목별 자세한 가이드를 제공하고 있으니 참고해 보세요.



DataFrame은 무엇인가요?

 R language를 다뤄보신 분들이라면 data.frame이 친숙할 거에요. 그렇습니다. 지금부터 함께 알아볼 DataFrame이 바로 그 data.frame과 유사한 구조입니다. DataFrame은 데이터를 직사각형 모양의 테이블 구조에 저장한 것으로 행은 숫자, 문자, 논리 등 여러 가지 종류의 데이터 타입이 들어갈 수 있고 열은 동일한 데이터 타입이 들어갈 수 있습니다. 즉, 각 열에 아마도 서로 다른 데이터 타입을 지닌 2차원 배열의 데이터 구조라고 요약할 수 있습니다. 참고로 1차원 배열의 데이터 구조는 Series라고 부릅니다.

 DataFrame은 데이터, 인덱스, 열 세 가지 주요 요소로 구성되어 있습니다. 데이터는 DataFrame 그 자체가 들어갈 수 있고 그 외에도 Series, NumPy의 ndarray, 2차원 ndarray, 딕셔너리가 들어갈 수 있습니다. 파이썬의 또 다른 패키지인 NumPy를 다뤄보신 분들이라면 array 혹은 2차원 array와 비슷하다고 느낄 수 있습니다. 차이는 바로 DataFrame에는 인덱스가 존재한다는 것입니다. 각 행과 열에 대한 인덱스가 존재하여 데이터를 더욱 손쉽게 다룰 수 있도록 도와줍니다.



Object creation

 DataFrame을 생성해 보겠습니다.




Viewing data

 앞서 생성한 데이터를 확인해 보겠습니다. 단순한 display를 넘어서 간단한 요약통계치, 행렬변환과 정렬 등도 시도해 보겠습니다.




Selection

 데이터를 선택, 변경하는 방법에 대해 알아보겠습니다.




Missing data

 결측치를 확인, 처리하는 방법에 대해 알아보겠습니다.




Operations

 본격적으로 데이터를 다뤄보겠습니다. 통계치를 구하고 사칙연산 함수를 적용해 봅시다.




Merge

 데이터를 다루다보면 서로 다른 구조를 합치거나 나눠야 할 때가 있습니다.




Grouping

 데이터를 특정 기준에 따라 분류하여 처리해야 할 때가 있습니다.




Reshaping

 DataFrame을 다른 형태로 변형하는 방법을 알아보겠습니다.




Time series

 시계열 데이터를 다루는 방법을 알아보겠습니다.




Categoricals

 범주형 데이터를 다뤄보지 않을 수 없겠죠?




Plotting

 데이터 분석의 아름다운 결과! 그래프로 보여주는 방법입니다.




Getting data in/out

 정말 마지막입니다. 생성/분석한 데이터를 파일로 쓰거나 불러오는 방법입니다.