import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False #한글폰트 사용시 마이너스 글자가 깨지는 현상 해결
df = pd.read_excel('../Pandas/score.xlsx')
df
지원번호 | 이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | SW특기 | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
1 | 2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
2 | 3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
3 | 4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
4 | 5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
5 | 6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
6 | 7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
7 | 8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
import numpy as np
np.arange(5)
array([0, 1, 2, 3, 4])
np.arange(3, 6)
array([3, 4, 5])
arr = np.arange(5)
arr
array([0, 1, 2, 3, 4])
arr + 100
array([100, 101, 102, 103, 104])
arr * 3
array([ 0, 3, 6, 9, 12])
df.shape[0] #(row 개수, col 개수) [0,1]
8
N = df.shape[0]
N
8
index = np.arange(N)
index
array([0, 1, 2, 3, 4, 5, 6, 7])
w = 0.25
plt.bar(index - w, df['국어'])
plt.bar(index, df['영어'])
plt.bar(index + w, df['수학'])
<BarContainer object of 8 artists>
w = 0.25
plt.bar(index - w, df['국어'], width = w)
plt.bar(index, df['영어'], width = w)
plt.bar(index + w, df['수학'], width = w)
<BarContainer object of 8 artists>
w = 0.25
plt.bar(index - w, df['국어'], width = w, label = '국어')
plt.bar(index, df['영어'], width = w, label = '영어')
plt.bar(index + w, df['수학'], width = w, label = '수학')
plt.legend(ncol=3)
<matplotlib.legend.Legend at 0x197d7979130>
plt.figure(figsize=(10, 5))
plt.title('학생별 성적')
w = 0.25
plt.bar(index - w, df['국어'], width = w, label = '국어')
plt.bar(index, df['영어'], width = w, label = '영어')
plt.bar(index + w, df['수학'], width = w, label = '수학')
plt.legend(ncol=3)
plt.xticks(index, df['이름'], rotation = 60)
plt.show()