기초통계/막대그래프,히스토그램

★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
반응형