오랑우탄의 반란
데이터 전처리 & 시각화 (5) Pandas 개념 익히기 3 본문
오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다.
지난 포스트에 이어 데이터 병합, 집계, 병렬을 알아보며 Pandas 기초 개념 설명을 마치겠습니다.
6 데이터 병합
데이터 병합에는 concat, merge 두 가지 방법이 있습니다. 각각 SQL의 union, join 과 비슷한 쓰임새입니다.
아래 데이터에 대해서 작업하겠습니다.
concat
concat로 여러 테이블을 병합할 경우, 기본이 밑으로 이어붙여지는 형식입니다. (axis=0)
이때 주의할 부분은 인덱스가 기존 테이블들의 인덱스 그대로 이어지지 않는 형태로 들어가기 때문에, 마지막에 .reset_index(drop=True) 를 꼭 붙여줘야 한다는 점입니다.
drop=True 를 생략하면 합쳐진 개별 인덱스 칼럼이 남아있다는 사실 잊지 마세요~
또한 테이블을 이어줬을 때 다른 테이블에 없는 칼람에 대한 경우 NULL 처리 됩니다.
데이터를 가로로 연결하고 싶은 경우 axis=1 이라는 값을 주면 됩니다.
merge
이번에는 merge 사용해 보겠습니다.
merge의 경우 기준이 되는 부분 on = '기준 칼럼', how = '조인 방식' 을 추가해줘야 합니다.
how 를 설정하지 않을 경우 자동으로 inner join 이 됩니다.
7 데이터 집계
group by
SQL 과 똑같이 group by 를 사용해서 데이터를 그룹화해서 볼 수 있습니다.
이때 뒤에 다양한 연산 함수를 붙여서 결과를 볼 수 있습니다.
.first
각 그룹화 칼럼에 대해 첫번째 값을 반환합니다.
.agg(list)
그룹화된 값을 하나의 리스트로 모아서 출력해줍니다.
실제 데이터 테이블 예시로 실습을 해봅시다.
day 를 기준으로 total_bill, tip, size 칼럼 값들의 평균을 보고자 하는 코드입니다.
더 나아가 sql 처럼 두 개 이상의 group by 기준을 가질 수 있지요.
마지막으로 여기에 mean 대신 agg 함수를 써서 각각의 칼럼에 대해 출력할 값을 따로 지정해줄 수도 있습니다.
이런 경우 딕셔너리 형식으로 {칼럼:함수} 로 나열해서 넣으면 됩니다.
파이썬과 SQL 사이의 Pandas.. 신기하고 사용이 정말 간편하네요
pivot table
피벗 테이블을 만드는 방법도 보겠습니다.
pivot 변수 안에 pivot_table 함수를 써서 저장해주고 출력해줍니다.
pivot_table 함수 안에는 index, columns, values, aggfunc 을 지정해줘야 합니다.
column 이 될 칼럼을 여러 개 지정해줄 수도 있습니다.
8 데이터 정렬
sql 의 order by 와 같은 기능을 하는 sort_values 입니다.
기본은 오름차순이며 내림차순으로 정렬 시 accending = False 로 설정해주면 됩니다.
또한 정렬 기중도 칼럼별로 다르게 설정할 수 있습니다.
지금까지 Pandas의 기초 개념을 8개의 주제로 나눠 살펴보며 데이터 전처리에 대해 알아봤습니다.
다음 포스트에서 데이터 시각화와 Matplotlib 에 대해 알아보겠습니다.
오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~
'PYTHON > 데이터분석' 카테고리의 다른 글
데이터 전처리 & 시각화 (7) Matplotlib 개념 익히기 (2) | 2024.07.18 |
---|---|
데이터 전처리 & 시각화 (6) 데이터 시각화란? (0) | 2024.07.18 |
데이터 전처리 & 시각화 (4) Pandas 개념 익히기 2 (0) | 2024.07.17 |
데이터 전처리 & 시각화 (3) Pandas 개념 익히기 1 (0) | 2024.07.17 |
데이터 전처리 & 시각화 (1) 데이터 전처리란? (0) | 2024.07.17 |