https://steadiness-193.tistory.com/154
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전체 매출, 국가별 매출
https://steadiness-193.tistory.com/153 판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전처리, Data cleansing, 메모리 효율화 데이터 출처 https://archive.ics.uci.edu/ml/datasets/Online+Retail 온라인 리테일..
steadiness-193.tistory.com
위 포스팅과 연결됩니다.
데이터 불러오기

InvoiceDate 컬럼은 자료형이 datetime이다.
하나의 자료를 가져와보면

Timestamp를 볼 수 있는데
연도를 얻기위해선 year를, 월을 얻기위해선 month를 이용하면 된다.

연월별 매출
[방법1]
InvoiceDate 컬럼을 인덱스로 설정 → 사용자 함수를 정의해 groupby이용

groupby에 사용자 함수를 넣어서 그룹핑하기 위해
우선 InvoiceDate 컬럼을 인덱스로 설정한다.
사용자 함수 정의

연월을 뽑아내는 함수다.
2011년 11월 → 201111
2011년 2월 → 201102
이처럼 길이를 6으로 맞춰주는 것이다.
위 함수를 groupby에 넘겨, 원하는 컬럼의 집계값을 확인하고 시각화


연말이 될 수록 매출이 증가하는 것을 볼 수 있다.
12월의 데이터가 적은 이유는
원본이 애초에 12월 9일까지의 데이터만 가지고 있기 때문이다.

연월별 매출
[방법2]
dt 연산자 → 연, 월 컬럼 생성 → 연, 월 컬럼으로 groupby

생성한 2개의 컬럼으로 그룹핑

시각화

x축 눈금이 조금 달라진 것을 빼면 다른 것은 없다.
요일별 매출
[방법1]
InvoiceDate 컬럼을 인덱스로 설정 → lambda와 dayofweek을 이용해 그룹핑

0부터 월요일이며 6은 일요일이다.
특이한 점은 토요일의 값이 없다는 것.
인덱스를 보기 편하게 요일로 바꾸고 시각화를 해보자


목요일까지는 완만히 올라가다가 금요일부터 줄어드는 양상이다.
요일별 매출
[방법2]
dt 연산자 → 요일 컬럼 생성 → 요일 컬럼으로 groupby

반드시 dt 연산자를 매개로 해야 에러가 발생하지 않는다.
이제 요일 컬럼으로 그룹핑해서 원하는 데이터를 볼 수 있다.

인덱스를 바꾼 뒤

시각화

방법 1의 인덱스로 그룹화 참조 포스팅
https://steadiness-193.tistory.com/101
판다스 - groupby : 인덱스로 그룹화하기 (멀티인덱스, level)
https://steadiness-193.tistory.com/76 판다스 - groupby : 색인 단계로 그룹핑하기(계층적 색인) 계층적 색인에서는 축 색인의 단계 중 하나를 이용해 집계할 수 있다. 데이터 만들기 컬럼이 멀티인덱스이므�
steadiness-193.tistory.com
'Pandas > 실전' 카테고리의 다른 글
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 고객 코호트(cohort) 분석 (0) | 2020.07.21 |
---|---|
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 시간대별 매출, 상위 매출 제품의 월별 판매량 추이 (0) | 2020.07.20 |
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전체 매출, 국가별 매출 (0) | 2020.07.20 |
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전처리, Data cleansing, 메모리 효율화 (3) | 2020.07.20 |
판다스 - 연령과 직업, 은행 상품 가입간의 관계 (0) | 2020.07.16 |