본문 바로가기

Pandas/실전

판다스 - 2012년 연방선거관리위원회 : 전처리, 메모리 효율화

반응형

데이터 불러오기

 

 

백만행이 넘어가는 큰 데이터이다.

 

 

 

 

 

컬럼 살펴보기

 

 

정치활동 후원금에 대한 데이터

기부자의 이름, 직업, 고용형태, 주소, 기부금액이 포함되어 있다.

2012년 미국 대통령 선거 데이터이며, 모든 주를 포함하고 있다.

 

 

 

 

info

 

 

9, 15번 컬럼의 메모리를 효율화하자

 

 

 

 

 

 

전처리 0 - 메모리 효율화

 

 

 

 

 

메모리를 약 8MB 아꼈다.

 

 

 

 

 

 

 

전처리 1 - 소속 정당 표시

 

 

 

대통령 선거에 출마했던 모든 후보자들이다.

 

 

 

 

 

후보자들 별로 소속 정당을 연결해줄 수 있는 딕셔너리를 정의한다.

 

 

 

이제, map 메서드를 이용해서 새로운 시리즈를 만들 수 있다.

 

 

 

 

이렇게 만든 시리즈를 party라는 이름의 컬럼으로 추가해주자

 

 

 

 

 

 

 

 

map 메서드에 대한 자세한 내용은 아래 포스팅 참조

 

https://steadiness-193.tistory.com/216

 

판다스 - map

map 순차적 자료형에 대해 함수를 적용하는, 내장 함수 map(함수, 순차적 자료) map(func, iterables) map의 첫번째 인자인 함수는 파이썬의 내장함수도 가능하며 사용자 정의 함수나 딕셔너리(사전) 등도

steadiness-193.tistory.com

 

 

 

 

 

 

 

 

전처리 2 - 기부금이 음수인 행 제거

 

 

 

기부금 컬럼인 contb_receipt_amt의 기술통계를 보니

 

최솟값이 음수로 나와있다.

 

 

이는 분석에 있어서 잡음이 될 수 있으니 음수인 행은 제거해 주자

 

 

 

 

기존 1,001,731행에서 10,256을 제거한 991,475행만 남았다.

 

 

 

 

 

 

 

 

 

전처리 3 - 직업 컬럼에서 응답이 적절치 않은 값 치환

 

 

 

직업 컬럼을 보니

 

INFORMATION REQUESTED PER BEST EFFORTS

같은 정확한 직업이 아닌 값이 있다.

 

 

 

이러한 애매한 값들을 NOT PROVIDED로 다 바꿔주자

 

 

 

 

 

위 함수를 적용 전/후로 비교해서 보자

 

 

 

 

 

 

 

확실히 NOT PROVIDED 의 양이 많아진 것을 볼 수 있다.

 

 

 

 

 

 

mapping.get에 대한 자세한 내용은 아래 포스팅 참조

 

https://steadiness-193.tistory.com/217

 

판다스 - map : dict.get

데이터 불러오기 who 컬럼의 고유값 [목표 : man, woman은 adult로 변경 / child는 그대로 유지] try1 : 딕셔너리와 map 이용 하나의 컬럼은 시리즈이며 이는 순차적 자료형이기 때문에 map 메서드를 이용할

steadiness-193.tistory.com

 

 

 

 

 

 

 

 

전처리 4 - 고용주 컬럼에서 응답이 적절치 않은 값 치환

 

 

 

 

전처리 3번과 같이 해도 되지만 이번엔 apply를 이용해보자

 

 

 

 

 

 

처리 완료된 시리즈로 기존 컬럼을 대체해주면 된다.

 

 

 

 

 

 

 

 

 

양대 후보 데이터 프레임 만들어 두기

 

 

 

버락 오바마와 미트 롬니를 양대 후보로 골라내서

 

이 둘만의 분석을 위한 데이터프레임을 만들어 두자

 

 

 

 

양대 후보 데이터프레임의 이름은 fec_mrbo이다.

 

 

 

반응형