데이터분석

1일 1개발공부˙Day 2

묘걍 2022. 9. 25. 22:45
Chapter 01 :: 데이터 안에서 인사이트 발견하기

#탐색적_데이터_분석 #판다스 #넘파이 # Matplotlib #시각화

 

 

https://www.youtube.com/watch?v=fxpRU3UImtM&list=PLVsNizTWUw7FmLj3IMECoauQ_-DUbNF0M&index=6 

 

 

1. 탐색적 데이터 분석의 과정

- 데이터 정보 파악

- 문제 해결 힌트 분석

 

*raw data: 활용/정제되지 않은 데이터

 

<데이터 분석의 시작>

① 데이터 출처/ 주제 파악

② 데이터 크기 파악

(*샘플링: 일부의 값을 추출하는 행위

              데이터가 너무 크거나 전체 데이터를 사용할 수 없는 경우 사용)

③ 데이터 구성 요소(피처) 파악

(*피처: 데이터 구성 요소)

 

<데이터 속성 탐색>

: 실제적 내용 탐색

*피처의 속성 탐색: 데이터에 질문을 던짐

*피처 간의 상관 관계 탐색: 통계적 방법

<데이터 시각화>

: 패턴이나 인사이트를 발견하게 도와줌

 

2. 멕시코풍 프렌차이즈 chipotle의 주문 데이터 분석

(포인트 되는 부분만 기록하기)

주문자 아아디/수량/메뉴/토핑/가격

*가격 column은 바로 사용하기 힘들다 어떻게 해야할까? 생각해보기

order id는 현재 int

그러나 id는 숫자로서 의미를 가지는 것이 아니기 때문에

string 형태로 바꿔준다

범주형 데이터는 unique()함수를 활용

주문수: 1834

메뉴 수: 50

*value_counts()함수: 각 항목이(?) 몇개 있는지 카운트해줌

                                   [:]를 활용해 순위 안에 드는 데이터만 추출

*수치형 피처

   - 연속형 피처: 어떤 구간 안의 모든 값을 데이터로써 가질 수 있다 (키, 몸무게)

   - 비연속형 피처: 셀 수 있음, 일정 구간 안에서 정해진 몇 개의 값을 가짐 (나이)

*범주형 피처

   - 순서 있는 범주형 피처: 순서가 있음 / 수치는 아님 (학점)

   - 순서 없는 범주형 피처: 데이터가 구분됨 / 순서 없음 (혈액형)

value_count()함수와 for문을 사용해 top10을 출력해보기

groupby(): 그룹으로 묶어서 연산을 하도록 도와줌

                  [뭘 기준으로].어떤 연산()

 

item_name_list = item_quantity.index.tolist()

주문 총 량 출력한 결과를 보면 item_name이 인덱스역할, 값들이 value => numpy 타입

tolist(): 파이썬 리스트 형태로 만들어줌

x_pos = np.arange(len(item_name_list))

item_name 대신 메뉴를 번호로 나타냄

총액은 $가 붙어 있어

직접 만든 함수를 통해 숫자 타입으로 변경하기

chipo에서 item_price 선택,

aply를 통해 선택한 데이터에 다음 함수를 적용하겠다

lambda 특정 기능을 익명 함수로 불러오겠다는 의미

info함수를 통해 출력해보면

item_price는 object (string + 숫자 = string)

[1:]를 통해 $ 를 떼내고

float으로 형변환

이를 통해 총액도 사용 가능한 피처로 만들어줌

'주문당'이기 때문에 order_id

'계산금액'이기 때문에 item_price

id로 groupby 통해 id들이 주문 당 얼마를 썼는지

그 중에서 >=10인 것들만 출력

id만 출력하려면 index.values

논리적 비약이 있음 - 각 아이템이 정확히 얼마인지 알 수 없음

=> 아이템 하나만 산 것만 필터링함

→그 안에서 item_name으로 groupby를 해서 최솟값 구함 (토핑으로 인해 추가된 가격 제외하기 위해)

     * 토핑을 올리지 않은 데이터가 없을 경우 해당 아이템의 실제 가격을 알 수 없다

→ 이 결과를 item_price로 sorting (by = sorting 기준, ascending(오름차순)=False(내림차순))

chipo에서 [chipo[] == " "]인 애들만 필터링

drop_duplicates(): 중복 제거

 

 

plt.bar, plt.hist 를 통해 시각화

 

까지 마무리해서 오늘의 공부 끝-👏🏻

 

오늘도 알바 끝나고 시간 안에 부랴부랴 하느라

조금 정신 없었지만

내일은 여유있게 해보기!

 

 

 

'데이터분석' 카테고리의 다른 글

1일 1개발공부˙Day 5  (0) 2022.09.28
1일 1개발공부˙Day 4  (0) 2022.09.27
1일 1개발공부˙Day 3  (0) 2022.09.26
1일 1개발공부˙Day 1  (0) 2022.09.24