https://steadiness-193.tistory.com/154
위 포스팅과 연결됩니다.
데이터 불러오기
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
'Pandas > 실전' 카테고리의 다른 글
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 고객 코호트(cohort) 분석 (0) | 2020.07.21 |
---|---|
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 시간대별 매출, 상위 매출 제품의 월별 판매량 추이 (0) | 2020.07.20 |
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전체 매출, 국가별 매출 (0) | 2020.07.20 |
판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전처리, Data cleansing, 메모리 효율화 (3) | 2020.07.20 |
판다스 - 연령과 직업, 은행 상품 가입간의 관계 (0) | 2020.07.16 |