기초통계/막대그래프,히스토그램
★Pie Chart[Python]★기초통계학-[Chapter02 - 연습문제_03]
goAhEAd_29
2022. 12. 1. 10:44
728x90
반응형
import platform
import matplotlib
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
import seaborn as sns
%precision 3
from matplotlib import pyplot as plt
%matplotlib inline
#그래프를 주피터 놋북에 그리기 위해
import numpy as np
import copy
from scipy.stats import probplot
from scipy import stats
#히스토그램 그리기
# Window
if platform.system() == 'Windows':
matplotlib.rc('font', family='Malgun Gothic')
elif platform.system() == 'Darwin': # Mac
matplotlib.rc('font', family='AppleGothic')
else: #linux
matplotlib.rc('font', family='NanumGothic')
# 그래프에 마이너스 표시가 되도록 변경
matplotlib.rcParams['axes.unicode_minus'] = False
# 한글 폰트 설정
font_location = 'C:/Windows/Fonts/MALGUNSL.TTF' #맑은고딕
font_name = font_manager.FontProperties(fname=font_location).get_name()
rc('font',family=font_name)
cancer_man ='위 대장 폐 간 전립선 갑상선 방광 췌장 신장 담낭'
cancer_stat = '21344 17157 15167 12189 8952 7006 2847 2807 2722 2479'
cancer_woman = '갑상선 유방 대장 위 폐 간 자궁경부 담낭 췌장 난소'
cancer_wstat = '33562 15942 10955 10293 6586 4274 3278 2514 2273 2010'
cancer_man = list(cancer_man.split(' '))
cancer_stat = list(cancer_stat.split(' '))
cancer_woman = list(cancer_woman.split(' '))
cancer_wstat = list(cancer_wstat.split(' '))
a = pd.DataFrame({'암종류_m' : cancer_man , '남자' : cancer_stat , '암종류_w' : cancer_woman ,'여자' : cancer_wstat})
a
==> DATA FRAME
1. 남자와 여자에게 발생하는 암 종류에 대한 비율 각각 구하기
man_ratio = []
woman_ratio = []
a['남자'] = a['남자'].astype('int64')
a['여자'] = a['여자'].astype('int64')
a.dtypes
for i in a['남자']:
print(i)
print(sum(a['남자']))
man_ratio.append(round(i/sum(a['남자']),2)*100)
for i in a['여자']:
print(i)
print(sum(a['여자']))
woman_ratio.append(round(i/sum(a['여자']),2)*100)
a['남자 비율'] = pd.Series(man_ratio)
a['여자 비율'] = pd.Series(woman_ratio)
a = a[['암종류_m' , '남자' , '남자 비율' , '암종류_w' , '여자' , '여자 비율']]
a
2. 남자와 여자에게 발생하는 암 종류에 대한 원그래프를 각각 그리기
fig = plt.figure(figsize=(8,8))
fig.set_facecolor('white')
colors = sns.color_palette('bright')[0:5]
plt.pie(a.loc[:,'남자 비율'] , labels=a.loc[:,'암종류_m'], labeldistance=0.8, autopct='%.1f%%' ,textprops={'fontsize' : 12, 'fontweight' : 'bold'})
fig = plt.figure(figsize=(8,8))
fig.set_facecolor('white')
colors = sns.color_palette('bright')[0:5]
plt.pie(a.loc[:,'여자 비율'] , labels=a.loc[:,'암종류_w'], labeldistance=0.8, autopct='%.1f%%' ,textprops={'fontsize' : 12, 'fontweight' : 'bold'})
출처 : [쉽게 배우는 생활속의 통계학] [북스힐 , 이재원]
※혼자 공부 정리용
728x90
반응형