📌
# item_name 별 단가를 조회하기
# item_name으로 groupby하여 최소값이 단가
price_one = chipo.groupby("item_name").min()["item_price"]
price_one
#단가의 분포를 히스토그램으로 출력하기
#1
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font', family='Malgun Gothic')
plt.hist(price_one)
plt.ylabel("상품갯수")
plt.xlabel("상품단가 분포")
#2
price_one.plot(kind="hist")
plt.ylabel("상품갯수")
plt.xlabel("상품단가 분포")
# 단가가 가장 높은 상품 10개만 조회하기
price_one.sort_values(ascending=False)[:10]
#단가가 가장 높은 상품의 이름 조회하기
price_one.idxmax() #하나만 나와서 오류
max_item = price_one.max()
list(price_one[price_one==max_item].index)
# 주문당 주문금액이 가장 높은 5건의 주문 총 수량을 조회하기
#chipo.groupby("order_id").sum() 전체 주문당합계 주문아이디로 정렬
# ascending=False : 내림차순 정렬을 위하여
price5 = chipo.groupby("order_id").sum().\\
sort_values(by="item_price",ascending=False)[:5]
price5
# 주문수량
price5["quantity"].sum() # 결과 -> 103
# 주문당 주문금액이 높은 5건 주문의 주문정보 조회하기
#chipo["order_id"].isin(price5.index)은
#chipo 데이터프레임의 order_id 열,컬럼에서
#price5.index와 일치하는 값이 있는 행을 찾아
#["order_id","item_name","quantity","item_price"]내용 추출
chipo_5 = chipo[chipo["order_id"].isin(price5.index)]\\
[["order_id","item_name","quantity","item_price"]]
chipo_5
chipo_5.head()
# Veggie Salad Bowl 몇번 주문되었는지 출력하기
'''
주문번호 주문상품
1 Veggie Salad Bowl
1 Veggie Salad Bowl
2 Veggie Salad Bowl
=> 2번 주문
'''
#chipo데이타프레임의 item_name 컬럼중에서
#'Veggie Salad Bowl'과 값이 일치하는경우를
#chipo_salad에 저장
chipo_salad = chipo[chipo["item_name"] == 'Veggie Salad Bowl' ]
len(chipo_salad) #chipo_salad의 개수 => 18 건수
len(chipo_salad.groupby("order_id")) #주문자아이디순서로 정렬했을때 건수
# 한번의 주문 내에서 중복 집계된 item_name을 제거하기
#drop_duplicates(['item_name','order_id'])
chipo_salad = chipo_salad.drop_duplicates(['item_name','order_id'])
print(len(chipo_salad))
'수업(국비지원) > Python' 카테고리의 다른 글
[Python] drinks.csv 파일 분석하기2 - 막대그래프시각화 (0) | 2023.04.26 |
---|---|
[Python] drinks.csv 파일 분석하기1 (0) | 2023.04.26 |
[Python] chipo.tsc 파일 분석하기1 (0) | 2023.04.26 |
[Python] 반정형 데이터 - BeautifulSoup 모듈2 (0) | 2023.04.26 |
[Python] 반정형 데이터 - BeautifulSoup 모듈1 (0) | 2023.04.26 |