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 |