📌
'''
데이터 속성 설명
order_id : 주문번호
quantity : 아이템의 주문수량
item_name : 주문한 아이템의 이름
choice_description : 주문한 아이템의 상세 선택 옵션
item_price : 주문 아이템의 가격 정보
'''
### chipo.tsc 파일 분석하기
# 파일 읽기
import pandas as pd
chipo = pd.read_csv("data/chipotle.tsv",sep="\\t")
chipo.info()
# chipo 데이터의 행열의 갯수 출력하기
chipo.shape
# 컬럼명들 출력하기
chipo.columns
# index(행)의명 출력하기
chipo.index # 결과 -> RangeIndex(start=0, stop=4622, step=1)
# : 인덱스로 사용한게 아무것도 없어서 rangeindex가져옴
# order_id 주문번호이므로, 숫자형 분석의 의미가 없다
# order_id 컬럼의 자료형을 문자열로 변경하기
chipo["order_id"] = chipo["order_id"].astype(str)
chipo.info()
# 판매상품명과 상품의 갯수 출력하기
chipo["item_name"].unique()
len(chipo["item_name"].unique())
#1
chipo["item_price"] = chipo["item_price"].str.replace("$","").astype(float)
chipo.info()
# 주문금액 합계
chipo["item_price"].sum()
#2 apply함수 사용
### apply 함수 : 요소들에 적용되는 함수.
# apply(함수명 || 람다식)
chipo["item_price"] = chipo["item_price"].apply(lambda x : float(x[1:]))
# 주문금액 합계
chipo["item_price"].sum()
# 주문당 평균 주문 금액
'''
주문번호 주문금액
1 1
1 3
2 1
2 1
전체 주문 금액 : 6
주문건수 : 2
주문당 평균금액 : 3
'''
#1 전체 주문 금액
hap = chipo["item_price"].sum()
hap
#2 주문 건수
cnt = len(chipo.groupby("order_id"))
cnt
# cnt = len(chipo.groupby("order_id")["item_price"].count())
#1 주문당 평균 금액
hap / cnt
# ------------------
#2 주문당 평균 금액
chipo.groupby("order_id")["item_price"].sum().mean()
# 한번의 주문시 주문금액이 50달러 이상인 주문의 id 출력하기
'''
주문번호 주문금액
1 25
1 30
2 2
2 45
50달러 이상인 주문번호 : 1
'''
# 주문당 합계금액
order_id_tot = chipo.groupby("order_id").sum()
order_id_tot
# 주문당 합계금액이 50달러 이상인 경우
result = order_id_tot[order_id_tot["item_price"] >= 50]
result
len(result)
list(result.index)
#1. 50달러 이상인 주문정보를 chipo_50에 저장하기
#chipo["order_id"].isin(result.index)은
#chipo 데이터프레임의 order_id 열,컬럼에서 result.index와 일치하는 값이 있는 행을 찾아 추출
chipo_50 = chipo.loc[chipo["order_id"].isin(result.index)]
chipo_50
chipo_50.info()
#2. 50달러 이상인 주문정보를 출력하기
chipo_51 = chipo.groupby("order_id").\\
filter(lambda x : sum(x["item_price"]) >= 50)
chipo_51.info()
'수업(국비지원) > Python' 카테고리의 다른 글
[Python] drinks.csv 파일 분석하기1 (0) | 2023.04.26 |
---|---|
[Python] chipo.tsc 파일 분석하기2 (0) | 2023.04.26 |
[Python] 반정형 데이터 - BeautifulSoup 모듈2 (0) | 2023.04.26 |
[Python] 반정형 데이터 - BeautifulSoup 모듈1 (0) | 2023.04.26 |
[Python] 두개의 DataFrame 연결하기 (0) | 2023.04.26 |