목차
기본적으로 Series와 DataFrame을 만드는 법을 줄 살펴본 지난 포스팅 Pandas - Basic (1)에 이어 이번에는 Basic (2)편을 준비해보았다.
우선 실제로 데이터를 다룰 때 많이 사용하게 되는 groupby, select, merge에 대해 정리해보고, 이어서 csv나 excel 파일로부터 데이터를 불러오고 내보내는 방법에 대해 다루어보자.
1. groupby
•
DataFrame에서 특정 column의 unique 값만 가지고 새로운 DataFrame을 생성
•
size 방법: dfname.groupby("column_name").size()
•
agg 방법: dfname.groupby("column_name").agg('min'|'max'|'mean' 등)
import pandas as pd
Python
복사
1.1 groupby - size
•
각 이름별이 몇 번 나왔는지 counts 컬럼이 추가된 데이터프레임 만들기
•
syntax: dfname.groupby("column_name").size()
◦
data가 몇 번 나오는지 count
•
Series로 출력됨
1.2 groupby - agg
•
각 이름별 age의 최소값/최대값/평균 등을 나타내는 column을 나타내기
•
syntax: dfname.groupby("column_name").agg('min'|'max'|'mean' 등)
2. select
2.1 head, tail
•
head: dataframe 상단 n개 row를 보여줌 (default 5줄)
◦
syntax: df.head(n=5)
•
tail: dataframe 하단 n개 row를 보여줌 (default 5줄)
◦
syntax: df.tail(n=5)
2.2 indexing, slicing
2.3 index, column으로 데이터 호출
•
df[index][column]으로 자료 호출 (two-level column도 가능)
3. merge
•
merge란 sql의 join과 같은 개념
•
두 개의 데이터 프레임을 하나로 합쳐서 데이터를 보여줄 수 있음
그럼, 아래와 같이 두 개의 데이터프레임을 만들어서 merge를 해보자.
•
user_df: 아이디, 이름, 나이 데이터 프레임 생성
•
money_df: 아이디, 돈으로 데이터 프레임 생성
4. input / output
•
csv 파일: 쉼표(,)로 값을 구분하는 파일 타입
•
엑셀 파일:
◦
인코딩 타입이 UTF-8이 아님
◦
영어가 아닌 다른 언어를 저장하거나 로드할 때 인코딩을 주의해야 함
4.1 csv 파일 읽고 내보내기
4.2 excel 파일 읽고 내보내기
•
우선 다음의 패키지를 설치한다.
•
$ pip install xlrd
•
$ pip install openpyxl
참고자료
•
패스트캠퍼스, ⟪데이터사이언스스쿨 8기⟫ 수업자료