판다스 데이터프레임으로 빠르게 데이터 파악하기

판다스 데이터프레임으로 빠르게 데이터 파악하기

판다스 데이터프레임은 파이썬에서 데이터를 다룰 때 가장 많이 사용하는 데이터 형태입니다. 2차원 배열 형태를 다루는 DataFrame은 엑셀을 실행시켰을 때 나오는 화면과 흡사한데요. 이번 포스팅에서는 데이터 파악할 때 사용할 수 있는 pandas 패키지의 함수를 알아보겠습니다.


글의 순서

파이썬 데이터 분석 : 판다스 데이터프레임 활용
판다스 데이터프레임으로 데이터 파악하기
함수, 메쏘드, 어트리뷰트 구분


파이썬 데이터 분석 : 판다스 데이터프레임 활용

실습코드01에 지난 포스팅에서 만들었던 데이터분석을 위한 가장 간단한 예제를 나타내었습니다. 참고로 예제 데이터는 아이폰 프로세서의 성능변화를 가늠할 수 있도록 지난 5년간의 데이터를 요약한 것인데, 모두 문자열로 구성되어 있습니다. 문자열인지 파악하고, 데이터 타입을 실수형으로 바꾼 후 연산까지 해보겠습니다.


(1) 데이터프레임의 데이터 속성 확인, 변경

데이터 속성을 확인하기 위해서 df.dtypes 또는 df.info()를 활용할 수 있습니다. 결과를 보시면, 모든 열의 데이터 타입은 ‘object’입니다. date는 날짜 type으로, 나머지 CPU_clock(GHz), process(nm), transistors(billion) 열은 실수 type으로 바꿔주었습니다. 여기서, 날짜의 경우, 데이터프레임 변수가 가지고 있는 함수인 astype()을 이용하였습니다. 날짜 type 변환 방법은 이 밖에도 2가지가 더 있는데, 맨 아래 절에서 다시 살펴보겠습니다.

(2) 특정 column 값 추출

데이터프레임에서 특정 열(column)의 값을 추출하려면, 데이터프레임 이름 뒤에 [ ]를 써준다음, [ ] 안에 column 이름을 문자 형태로 써주면 됩니다. 실습코드01에서 트랜지스터 개수를 따로 추출하기 위해 df[‘transtors(billion)’] 이라고 쓴 부분입니다.

(3) 파이썬 내장함수를 이용한 연산

데이터프레임 특정 column의 값을 추출한 후, 합계를 구하고 평균을 구하는 등 파이썬 내장함수인 sum(), max(), min()으로 간단한 연산을 할 수 있습니다. 참고로, 파이썬에 기본적으로 내장되어 있는 함수는 따로 패키지를 설치하고, import문을 써서 가져오지 않아도 사용할 수 있습니다.


판다스 데이터프레임 함수로 데이터 파악하기

분석해야 할 데이터를 만났을 때, 일반적으로 행과 열의 개수를 파악하고, 어떤 종류의 데이터인지 파악하는데요. 데이터를 파악할 때 빈번하게 사용하는 판다스의 명령어들을 정리하면 다음과 같습니다.

▶head() : 데이터의 앞부분 출력. 행의 개수를 괄호 안에 추가해서 그 만큼만 출력할 수도 있습니다.
▶tail() : 데이터의 뒷부분 출력. 행의 개수를 괄호 안에 추가해서 그 만큼만 출력할 수도 있습니다.
▶info() : 열의 속성 출력
▶describe() : 통계량 출력
▶index : 인덱스 레이블 출력
▶columns : 열 레이블 출력
▶dtypes : 데이터 타입 출력
▶values : 데이터프레임을 넘파이(numpy) 형식으로 출력
▶ndim : 데이터 차원 출력
▶size : 행(row)과 열(column) 개수를 정수형으로 출력
▶shape : 행(row)과 열(column) 개수를 튜플로 출력
▶empty : 데이터프레임이 비어있으면 True. 만약 빈 데이터프레임을 pd.DataFrame()으로 만들고 난 직후에 empty로 확인하면 False를 출력합니다.
▶memory_usage() : 각 열의 메모리 사용량을 byte 단위로 출력

여기서 head()처럼 ()가 있는 것과, shape처럼 괄호가 없는 것은 어떻게 다를까요? shape처럼 괄호 없이 사용하는 것을 어트리뷰트(atribute)라고 부르는데, 판다스 데이터프레임에서 shape이라는 변수가 가지고 있는 값을 의미합니다. 사용법은 df.shape처럼 함수와 동일합니다.각 함수의 사용법을 실습코드02에 나타내었습니다.


함수, 메쏘드, 어트리뷰트 구분

파이썬에서 함수는 종류에 따라 명령어를 입력하는 방법이 조금씩 다릅니다. 공통점은 모두 함수라는 것입니다. 여기에 추가로 메쏘드(method)와 대응시킬 수 있는 어트리뷰트(attribute)도 확인해 보시기 바랍니다.

▶함수 : 파이썬 내장함수는 sum()처럼 함수이름과 괄호()를 입력합니다.
▶패키지 함수 : 파이썬 패키지 안에 들어 있는 함수를 의미합니다. 패키지 이름을 쓰고 점을 찍은 후 함수이름과 괄호를 입력합니다. pd.DataFrame()처럼 말입니다.
▶메쏘드 : 변수가 가지고 있는 함수를 의미합니다. df.head(), df.describe()처럼 df라는 데이터프레임 변수 다음에 점을 찍고 함수명과 괄호를 입력합니다.
▶어트리뷰트 : 변수가 가지고 있는 값을 의미합니다. df.shape에서처럼 괄호를 따로 쓰지 않습니다.


판다스 데이터프레임의 열 데이터를 날짜 type으로 변경하는 방법

판다스 데이터프레임에서 날짜 type으로 바꿔주는 데는 아래처럼 3가지 옵션이 있습니다.

▶pd.to_datetime() : pandas 패키지 함수 이용
▶dt.datetime.strptime() : datetime 패키지 함수 이용
▶astype : 데이터프레임 변수가 가지고 있는 함수 이용

두 번째 dt.datetime.strptime()의 경우 datetime이라는 패키지가 필요하므로, 파일 맨 위에 아래의 명령어를 써 놔야 합니다.

import datetime as dt


마치며 …

판다스 패키지는 엑셀파일에서 볼 수 있는 표 형태의 데이터입니다. 판다스는 행과 열이 많은 큰 데이터를 명령어 몇 줄로 파악할 수 있습니다. 이번 포스팅에서는 딕셔너리 형태의 작은 데이터를 만든 후 데이터를 파악하기 위한 판다스 명령어들을 활용해 보았습니다. 함수, 메쏘드, 어트리뷰트도 구분하실 수 있다면, 이 포스팅의 목적 달성입니다.

 

 

함께 참고하면 좋은 글 :
파이썬 데이터 분석 : 판다스 인덱스
파이썬 판다스로 엑셀 파일의 원하는 부분 골라 읽기
파이썬 판다스로 텍스트 파일 읽기 : read_table()
파이썬 판다스 데이터 분석 : pivot, 엑셀 입력, 출력
파이썬 바이낸스 API로 비트코인 투자 백테스팅 : 일중 강도(II) 매매 전략
파이썬 데이터 분석 : 판다스 데이터프레임 통계량, 그래프


참고자료

pandas, pandas.DataFrame

Leave a Comment