본문 바로가기
코드스테이츠 PM과정

[비전공자는 데이터분석 포트폴리오 만들 수 있을까? #1] 파이썬 Pandas로 데이터 분석 도전

by 관점부자 2021. 6. 1.

SQL, 엑셀, GA, 파이썬, 판다스, R 등 수 많은 분석툴이 있지만,

나는 판다스로 생전 해본 적 없는 데이터 분석을 도전하여 포트폴리오를 만들어보고 싶다. 

그 이유는 3가지다.

1) 파이썬으로 비교적 쉽게 개발언어를 전반적으로 공부할 수 있음.

2) 그래프가 멋있었다: 데이터의 시각화도 기획자가 가져야 될 중요한 스킬 중 하나라고 배웠는데.

판다스는 명령어를 통해 바로바로 내가 원하는 그래프를 그려준다.

3) 캐글을 통해, 다양한 자료를 접하고 혼자 공부할 수 있을 거 같다.

 

기술서적은 훌륭한 가이드라인은 되어주지만, 이미 가공된 부분을 실습하는 거 같아서, 아무리 해도 내 기술이 되는 거 같진 않았는데, 캐글에는 여러가지 참고할 자료가 많다. 

 

파이썬 판다스란?

Pandas는 파이썬에서 사용하는 데이터분석 라이브러리로, 행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있게 되며 보다 안정적으로 대용량의 데이터들을 처리하는데 매우 편리한 도구 입니다.

 

비전공자의 시점:

-엑셀은 클릭해서, 값을 입력 해주면 되는데, 이건 데이터불러오기 부터 입력까지 모두 "키보드"로 입력해야한다.

-하지만, 하고싶은 작업에 있어서는 엑셀 보다는 영어나 명령어를 바로바로 입력하면, 값이 나와서 어떻게 보면 직관적이다. (하지만, 명령어 언어가 너무 많다..)

 

 

5일 간 캐글만 둘러보고 만들어 본 학습법

1) 책을 통해, 파이썬 및 판다스의 기본 기능을 따라하며 학습한다.

2) 캐글을 통해 원하는 데이터 셋을 발굴하고, code 메뉴를 살펴본다. 

#으로 되어 있는 설명 위주로 다시 캐글 notes 섹션에서 용어를 재검색한다.

3) code메뉴 중에 하나 있는 분석을 하나씩, 분석한다. (+ 영어 공부가 자연스레 된다..)

4) 이렇게 습득한 지식을 다른 데이터셋에 적용해 본다.( 아직 안 해봄)

 

판다스 공부하기 좋은 깃허브

https://dataitgirls2.github.io/10minutes2pandas/ 

판다스 group by가 궁금하다면

https://youtu.be/p-b2OoFmstM

판다스의 join이 궁금하다면

https://www.youtube.com/watch?v=M_KLFxRTiTY&t=264s

 

여러개의 데이터 불러올 때 os walk를 왜 쓰는지 궁금하다면

https://www.youtube.com/watch?v=M0KjSqypS2A

 

이런식으로 공부하다보면, 데이터 분석이 가능할 거 같다는 게 내 가설이다.

 

어쨌든 이와 별개로 이러한 일을 시작하게 해 준 코드스테이츠의 과제를 이제 살펴보고자 한다.

 

데이터 확보: eCommerce Events History in Cosmetics Shop

- 기획자가 되기 위해서는 이커머스에 대한 데이터 분석이 가장 기본이라고 생각하였다.

- 데이터 분석에 기본은 시계열 데이터 분석이라고 책에서 읽어서 

위의 2가지를 공통적으로 할 수 있는 데이터를 찾고자 하였다.



속성 설명
event_time 구매가 일어난 시간 (in UTC).
event_type
  • view - a user viewed a product
  • cart - a user added a product to the shopping cart
  • remove_from_cart - a user removed a product from the shopping cart
  • purchase - a user purchased a product
product_id 제품의 Id
category_id 제품이 속한 카테고리의 ID
category_code 제품의 카테고리를 분류하는 코드로 중요한 카테고리나 다른 카테고리로 이동 시 만들어짐(?)

=Product's category taxonomy (code name) if it was possible to make it. Usually present for meaningful categories and skipped for different kinds of accessories.
>>무슨 말인지 모르겠으나, 엑셀에 데이터가 많이 입력되어 있지는 않다.
brand 소문자로 이루어진 브랜드 이름(누락 가능성 있음)
price 웹상에 표시 된 가격
user_id Permanent user ID.
** user_session** Temporary user's session ID. Same for each user's session. Is changed every time user come back to online store from a long pause. >> 무슨 뜻인지 모르겠다.

 

데이터 가공 및 가설

가설: 구매까지의 소요시간이 적은 고객은, 더 많은 제품을 구매하여, 매 월 매출에 기여할 것이다.

 

 

1)가공해야할 데이터 

#user_id로 묶어서 event type을 유저별로 보여주기
#event_map= event type(view+cart+purcchase를 한 번에 연결해서 보여주는 텍스트 만들기
#user_id로 묶어서 구매까지의 총 기간 계산하기

#월 매출

 

데이터 분석 및 결과

-작성예정

인사이트 도출 

-작성예정

 

 

느낀점:

-Pandas의 용어가 많아서(비개발자 기준) 이거 알아보는데 시간을 다 썼다.

그러나, 배우면 SQL보다 다양하게 사용할  수 있을거 같아서 배우고 싶다.

-여러개 데이터 불러오는 거 부터가 만만치 않았다. (df = pd.read_csv( '경로/파일이름') 이거 쓸모가 없다.. 여러개의 데이터를 한번에 찾아주는 건 왜 안가르쳐주는 거지...

-데이터 셋을 고르는 것도 어렵지만, Data cleaning이라고 골라서 결측값과 필요한 raw data에서 필요한 값만 뽑아 내는게 상당한 시간이 걸릴거 같다.

-하고 싶은건 많았으나, 기능을 아직 파악하지 못했다. 다음회차일 때는 더 많은 코드 작성하기

-다음회차까지 공부해야할 기능, groupby, join, concat 등의 데이터 연결을 최우선으로 학습해야 할 거 같다.