이번에는 데이터콘 사이트에서 추출한 신용카드 사용자
정보를 통해서 데이터 시각화 및 데이터 분석 케이스 스터디를 진행해보겠습니다.
기존의 칼럼 갯수가 많아서 불필요한 칼럼명 정보를 삭제한
간소화된 버전으로 케이스 스터디를 진행해보았습니다.
(사실 칼럼명 삭제 안해도 크게 상관없긴 함)
우선 분석 대상인 csv 파일을 pandas를 통해 불러옵니다.
변수 sample을 지정하여 head()를 통해 칼럼명을 확인합니다.
이 때, pd.read_excel('파일경로', header=시작 행, skipfooter=생략할 행, usecols='A:Z') 등을 통해
미리 생략할 행이나 열을 가공처리 할 수도 있습니다.
sample.info()를 통해 칼럼과 로우의 정보를 확인하고 타입을 확인할 수 있습니다.
결측치를 확인하기 위해 .isnull()을 사용하면 전체 표를
True, False로 확인할 수 있습니다.
isnull().sum()을 이용하면 칼럼별 결측치를 확인할 수
있는데 occup_type에서 결측치 8171개가 존재한다는 것을 확인할 수 있습니다.
8171개는 직업이 없는 경우로 인식하고 진행하겠습니다.
칼럼명 DAYS_BIRTH가 음수값으로 처리되어 있기 때문에
수식을 활용하여 age로 계산한 새로운 칼럼을 생성합니다.
절대값으로 처리하기 위해 abs()로 칼럼을 묶어 처리하고
sample['age']=값에 처리하여 주었습니다.
나이가 소숫점으로 떨어져 round()함수 처리하였습니다.
소숫점 자리까지 처리하여 깔끔하게 한 번 더 처리할 수
있으나 저는 그냥 그대로 진행하였습니다.
sample 변수에 할당된 표를 age라는 새로운 칼럼을
활용하여 오름차순으로 정렬하여 새로운 변수 sorted_by_age로 지정해주었습니다.
sample에 그대로 반영하려다가 혹시 몰라 raw데이터를
남겨두었고 앞으로는 나이순으로 정렬된 sorted_by_age 변수의 표로 진행하겠습니다.
def를 통해 규칙에 따른 조건변수를 생성하여
10단위로 20, 30... 등으로 나누었습니다.
조건식은 나이를 나머지 버림으로 십의 자리로 나눈 값에 10을 곱하여 나오는 age_categorize 변수 규칙을 지정하였고,
age_category로 변수로 .apply()를 통해
sorted_by_age 데이터 표에 적용하였습니다.
그리고 변수 age_category의 데이터 타입을
카테고리 타입으로 변경하였고
마지막으로 칼럼을 추가 생성하기 위하여 insert 로
추가될 칼럼 순서, 칼럼명, age_category 변수를 적용시켜
데이터에 추가시켰습니다.
나이 카테고리 실패했던 방법
처음에는 예전에 책에서 배운 내용을 활용하여
age_categorize라는 조건 변수를 다음과 같이 활용하려
하였다가 실패했습니다.
>생각의 순서:
1. 표를 나이 순서대로 정렬한다. # .sort_values() 활용
2. 나이의 고유값을 확인하여 최소값, 최대값 확인
(최소: 20대 ~ 최대: 60대) #.unique() 활용
3. 나이의 빈도와 순서에 따라 직접 20대, 30대를 빈도값만큼 곱해서 새 칼럼에 값을 부여
#value_counts() 활용
앞서 age칼럼을 기점으로 오름차순 정렬을 했기 때문에 순서대로 나이가 증가하고 있는 점에 따라 빈도수를 곱한 수만큼 직접 만든 리스트를 적용할 생각이었습니다.
age_categorize=['20대']*20대의 총 빈도수를 곱한값+['30대']*30대의 총 빈도를 곱한 값+[‘40대’]*40대 총 빈도를 곱한 값.....
sorted_by_age['age_category']=age_categorize
이렇게 진행하려 하였으나 데이터 수가 많은 관계로 3. 빈도값의 데이터량이 생각보다 많아서 규칙에 따라 조건 변수를 생성하는 방식으로 진행하였습니다.
CASE STUDY 1: 신용카드 사용자 정보 그래프 시각화하기② (0) | 2021.05.25 |
---|---|
CASE STUDY 1: 신용카드 사용자 정보 데이터로 인사이트 도출하기 (0) | 2021.05.22 |
댓글 영역