파이썬 기초_9

jh_k·2023년 2월 5일
0

python기초

목록 보기
9/11
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')

tips

  1. 컬럼의 이름을 변경 -> ["총 금액","팁","성별","흡연 여부","요일","시간","인원"]
  2. 총 금액, 팁 소수점 첫째 자리는 유지하고 나머지 값은 반올림하여 올려준다.
  3. 식사 인원, 성별 팁의 비율의 평균의 값을 구하고 시각화(bar)
tips.columns
#Index(['총 금액', '팁', '성별', '흡연 여부', '요일', '시간', '인원'], dtype='object')
tips["총 금액"] = round(tips["총 금액"],1)
tips["팁"] = round(tips["팁"],1)
# tips[["총 금액","팁"]] = tips[["총 금액","팁"]].round(1)
## 팁 비율  = 팁 / (총 금액-팁) *100
tips['팁 비율'] = tips['팁']  / (tips['총 금액'] - tips['팁'])*100
group_tip = tips.groupby(["인원","성별"]).mean()['팁 비율']
# group_tip.plot.barh()
x = list(range(0,len(group_tip.index),1))
y = group_tip

plt.barh(x,y)
plt.yticks(x, group_tip.index)
plt.show()
male_data = pd.DataFrame()
female_data = pd.DataFrame()

for i in group_tip.index:
    if i[1] == "Male":
        data = group_tip.loc[[i]]
        male_data = pd.concat([male_data,data])
    else :
        data = group_tip.loc[[i]]
        female_data = pd.concat([female_data,data])
x = list(range(len(male_data)))
y1 = male_data["팁 비율"]
y2 = female_data["팁 비율"]

plt.bar(x,y1,width=0.3)
plt.bar(x,y2,width=0.3)
plt.show()
profile
Just Enjoy Yourself

0개의 댓글