★질적자료의 요약★seaborn, matplotlib★기초통계학-[Chapter02 - 01]
질적자료 :
수집한 자료가 어떤 의미를 제공하는지 알기 쉽게 정리하고 요약할 필요가 있다.
==> 표와 그래프를 이용하여 수집한 자료를 정리하고 요약한다면 시각적으로 자료의 특성을 쉽게 알 수 있다.
도수(Frequency) : 각 범주 안에 들어가는 자료 집단에서 관찰된 자료의 수를 의미
상대도수(Relative Frequency) : 각 범주의 도수를 전체 도수로 나눈 값
상대도수 = 범주의 도수 / 전체 도수
EX) 어느 학교 40명의 혈액형을 조사한 결과 A형이 11명, B형이 9명, AB형이 6명, O형이 14명
각 범주에 해당하는 상대도수 :
A형 : 11/40 = 0.275
B형: 9/40 = 0.225
AB형 : 6/40 =0.15
O형: 14/40 =0.35
============================
막대 그래프
==> 각 범주에 대응하는 도수 또는 상대 도수, 백분율 등을 같은 폭의 수직 막대로 나타낸 그림을
막대그래프(bar chart)라고 한다.
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
import seaborn as sns
ax2 = plt.subplots() #그래프 바탕 생성
ax2 = sns.barplot(x = '재외공관' , y='단수_복수_합계',data=dansu_boksu_11)
ax2.set_title('재외공관별 업무량' , fontsize = 10)
ax2.set_xlabel('재외공관')
ax2.set_ylabel('업무량' )
ax2.tick_params(axis='x', rotation=45) #x축 rotation 돌리기
#ax2.xticks()
#ax.xticks(rotation=75)
plt.rc('axes', labelsize=8) # x,y축 label 폰트 크기
plt.rc('xtick' ,labelsize=8) # x축 눈금 폰트 크기
plt.rc('ytick', labelsize=8) # y축 눈금 폰트 크기
plt.show()
위와 같이 범주의 도수 또는 백분율이 점점 감소하도록 범주를 재배열한 그래프를
파레토 그래프(Pareto chart)라 한다.
============================
원그래프 : 원을 자료의 범주 개수만큼 파이 모양의 여러 조각으로 나누어 작성한 그림을 원그래프(Pie chart)
==> 각 범주를 상대적으로 비교할 때 많이 사용한다.
plt.pie(dansu_boksu_10.loc[:,'단수_복수_합계'] ,
labels=dansu_boksu_10.loc[:,'재외공관'], labeldistance=1.2, autopct='%.1f%%')
===============================
[I Can do]자료의 각 후보별 득표수와 득표비율
import matplotlib.pyplot as plt
# 데이터 정의
categories = ['A', 'B', 'C', 'D'] # 변수 이름
values = [2096294, 2726763, 23325, 17401] # 득표 수
total_votes = sum(values) # 총 득표수
percentages = [v / total_votes * 100 for v in values] # 득표 비율 계산
# 그래프 크기 설정
plt.figure(figsize=(12, 6))
# 첫 번째 그래프: 득표 수
plt.subplot(1, 2, 1) # 1행 2열 중 첫 번째 그래프
plt.bar(categories, values, color='skyblue', edgecolor='black', width=0.6)
plt.title('Votes')
plt.xlabel('Categories')
plt.ylabel('Votes')
for i, v in enumerate(values):
plt.text(i, v + total_votes * 0.01, str(v), ha='center', fontsize=10)
# 두 번째 그래프: 득표 비율
plt.subplot(1, 2, 2) # 1행 2열 중 두 번째 그래프
plt.bar(categories, percentages, color='orange', edgecolor='black', width=0.6)
plt.title('Vote Percentages')
plt.xlabel('Categories')
plt.ylabel('Percentages (%)')
for i, p in enumerate(percentages):
plt.text(i, p + 0.5, f'{p:.2f}%', ha='center', fontsize=10)
# 그래프 간격 조정 및 출력
plt.tight_layout()
plt.show()
출처 : [쉽게 배우는 생활속의 통계학] [북스힐 , 이재원]
※혼자 공부 정리용
'기초통계 > 막대그래프,히스토그램' 카테고리의 다른 글
★Pie Chart[Python]★기초통계학-[Chapter02 - 연습문제_03] (0) | 2022.12.01 |
---|---|
Plt, Fig, Seaborn 이해[Python]★기초통계학-[Chapter02 - 연습문제_02] (0) | 2022.11.30 |
★zip, collections.Counter()★도수표, 도수막대그래프★Plt, Fig, Seaborn 이해[Python]★기초통계학-[Chapter02 - 연습문제] (0) | 2022.11.30 |
★산점도 그래프★이변량 양적자료★기초통계학-[Chapter02 - 03] (0) | 2022.11.30 |
★양적자료의 요약★점도표, 도수분포표 , 특이점,계급 , 계급의 수★도수히스토그램★기초통계학-[Chapter02 - 02] (0) | 2022.11.29 |