티스토리 뷰

beginner/파이썬 분석

분석 -1

johh 2019. 3. 6. 23:14
경기도
In [26]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
In [23]:
'''f = open('성별학생수현황.csv')

line = f.readline()
features = line.strip().split(',')

data=[]

for line in f:
    l = line.strip().split(',')

    data.append(l)

    
data
f.close()

features'''
Out[23]:
"f = open('성별학생수현황.csv')\n\nline = f.readline()\nfeatures = line.strip().split(',')\n\ndata=[]\n\nfor line in f:\n    l = line.strip().split(',')\n\n    data.append(l)\n\n    \ndata\nf.close()\n\nfeatures"
In [24]:
'''for i,c in enumerate(features):
    print('%02d=>%s' % (i,c))'''
Out[24]:
"for i,c in enumerate(features):\n    print('%02d=>%s' % (i,c))"
In [37]:
df_All=pd.read_csv("성별학생수현황.csv", engine='python')
df_All.head()
Out[37]:
기준년도 시군명 지역교육청명 지역명 학교명 학교급명 설립구분명 주야간명 제외여부 제외사유 ... 5학년여자학생수(명) 6학년남자학생수(명) 6학년여자학생수(명) 특수학급남자학생수(명) 특수학급여자학생수(명) 순회학급남자학생수(명) 순회학급여자학생수(명) 총계남자학생수사항(명) 총계여자학생수사항(명) 총계사항(명)
0 2018 가평군 경기도교육청 경기도 가평군 가평고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 15 1 0 0 369(15) 346(1) 715(16)
1 2018 가평군 경기도가평교육지원청 경기도 가평군 청평초등학교 초등학교 공립 NaN N NaN ... 35.0 46.0 31.0 7 2 1 1 215(8) 215(3) 430(11)
2 2018 가평군 경기도가평교육지원청 경기도 가평군 청심국제중학교 중학교 사립 주간 N NaN ... NaN NaN NaN 0 0 0 0 119(0) 204(0) 323(0)
3 2018 가평군 경기도교육청 경기도 가평군 설악고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 0 0 0 0 99(0) 92(0) 191(0)
4 2018 가평군 경기도교육청 경기도 가평군 조종고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 4 0 0 0 125(4) 101(0) 226(4)

5 rows × 29 columns

In [38]:
df_2018 = df_All[df_All['기준년도']==2018]
df_2018.head()
Out[38]:
기준년도 시군명 지역교육청명 지역명 학교명 학교급명 설립구분명 주야간명 제외여부 제외사유 ... 5학년여자학생수(명) 6학년남자학생수(명) 6학년여자학생수(명) 특수학급남자학생수(명) 특수학급여자학생수(명) 순회학급남자학생수(명) 순회학급여자학생수(명) 총계남자학생수사항(명) 총계여자학생수사항(명) 총계사항(명)
0 2018 가평군 경기도교육청 경기도 가평군 가평고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 15 1 0 0 369(15) 346(1) 715(16)
1 2018 가평군 경기도가평교육지원청 경기도 가평군 청평초등학교 초등학교 공립 NaN N NaN ... 35.0 46.0 31.0 7 2 1 1 215(8) 215(3) 430(11)
2 2018 가평군 경기도가평교육지원청 경기도 가평군 청심국제중학교 중학교 사립 주간 N NaN ... NaN NaN NaN 0 0 0 0 119(0) 204(0) 323(0)
3 2018 가평군 경기도교육청 경기도 가평군 설악고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 0 0 0 0 99(0) 92(0) 191(0)
4 2018 가평군 경기도교육청 경기도 가평군 조종고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 4 0 0 0 125(4) 101(0) 226(4)

5 rows × 29 columns

In [41]:
df_2018.describe()
Out[41]:
기준년도 제외사유 1학년남자학생수(명) 1학년여자학생수(명) 2학년남자학생수(명) 2학년여자학생수(명) 3학년남자학생수(명) 3학년여자학생수(명) 4학년남자학생수(명) 4학년여자학생수(명) 5학년남자학생수(명) 5학년여자학생수(명) 6학년남자학생수(명) 6학년여자학생수(명) 특수학급남자학생수(명) 특수학급여자학생수(명) 순회학급남자학생수(명) 순회학급여자학생수(명)
count 2404.0 0.0 2404.000000 2404.000000 2404.000000 2404.000000 2404.000000 2404.000000 1283.000000 1283.000000 1283.000000 1283.000000 1283.000000 1283.000000 2404.000000 2404.000000 2404.000000 2404.000000
mean 2018.0 NaN 76.311980 72.511647 80.566140 76.184276 83.201747 78.299085 49.880748 47.413874 51.814497 49.713172 47.383476 45.096648 3.236689 1.525790 0.168885 0.119384
std 0.0 NaN 58.004391 55.290233 63.814626 60.203938 71.079750 65.997238 34.155270 33.030044 35.192781 34.142567 32.189781 30.900475 3.545690 2.079106 0.807124 0.627679
min 2018.0 NaN 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 2018.0 NaN 32.000000 30.000000 31.000000 29.000000 31.000000 28.000000 22.000000 21.000000 23.000000 21.000000 21.000000 19.000000 0.000000 0.000000 0.000000 0.000000
50% 2018.0 NaN 65.500000 63.000000 68.500000 63.000000 65.000000 63.000000 48.000000 44.000000 51.000000 48.000000 47.000000 43.000000 2.000000 1.000000 0.000000 0.000000
75% 2018.0 NaN 113.000000 107.000000 118.000000 114.000000 120.000000 114.000000 72.000000 69.000000 75.000000 71.000000 68.000000 65.000000 5.000000 2.000000 0.000000 0.000000
max 2018.0 NaN 377.000000 342.000000 421.000000 394.000000 499.000000 453.000000 189.000000 182.000000 194.000000 216.000000 175.000000 167.000000 24.000000 19.000000 11.000000 10.000000
In [42]:
df_2018_element = df_2018[df_2018['학교급명']=='초등학교']
df_2018_element.head()
Out[42]:
기준년도 시군명 지역교육청명 지역명 학교명 학교급명 설립구분명 주야간명 제외여부 제외사유 ... 5학년여자학생수(명) 6학년남자학생수(명) 6학년여자학생수(명) 특수학급남자학생수(명) 특수학급여자학생수(명) 순회학급남자학생수(명) 순회학급여자학생수(명) 총계남자학생수사항(명) 총계여자학생수사항(명) 총계사항(명)
1 2018 가평군 경기도가평교육지원청 경기도 가평군 청평초등학교 초등학교 공립 NaN N NaN ... 35.0 46.0 31.0 7 2 1 1 215(8) 215(3) 430(11)
11 2018 가평군 경기도가평교육지원청 경기도 가평군 가평마장초등학교 초등학교 공립 NaN N NaN ... 3.0 9.0 8.0 1 2 0 0 39(1) 37(2) 76(3)
12 2018 가평군 경기도가평교육지원청 경기도 가평군 가평초등학교 초등학교 공립 NaN N NaN ... 82.0 69.0 54.0 8 1 0 0 413(8) 393(1) 806(9)
13 2018 가평군 경기도가평교육지원청 경기도 가평군 대성초등학교 초등학교 공립 NaN N NaN ... 4.0 8.0 8.0 1 2 0 0 51(1) 39(2) 90(3)
14 2018 가평군 경기도가평교육지원청 경기도 가평군 목동초등학교 초등학교 공립 NaN N NaN ... 4.0 6.0 6.0 3 2 0 0 45(3) 49(2) 94(5)

5 rows × 29 columns

In [74]:
boy_1_2018 = np.sum(df_2018_element['1학년남자학생수(명)']), 
boy_2_2018 = np.sum(df_2018_element['2학년남자학생수(명)']), 
boy_3_2018 = np.sum(df_2018_element['3학년남자학생수(명)']),
boy_4_2018 = np.sum(df_2018_element['4학년남자학생수(명)']),
boy_5_2018 = np.sum(df_2018_element['5학년남자학생수(명)']),
boy_6_2018 = np.sum(df_2018_element['6학년남자학생수(명)'])

boy_1_2018, boy_2_2018, boy_3_2018, boy_4_2018, boy_5_2018, (boy_6_2018,)
Out[74]:
((65067,), (64591,), (61348,), (63967.0,), (66445.0,), (60761.0,))
In [75]:
girl_1_2018 = np.sum(df_2018_element['1학년여자학생수(명)']), 
girl_2_2018 = np.sum(df_2018_element['2학년여자학생수(명)']), 
girl_3_2018 = np.sum(df_2018_element['3학년여자학생수(명)']),
girl_4_2018 = np.sum(df_2018_element['4학년여자학생수(명)']),
girl_5_2018 = np.sum(df_2018_element['5학년여자학생수(명)']),
girl_6_2018 = np.sum(df_2018_element['6학년여자학생수(명)'])

girl_1_2018, girl_2_2018, girl_3_2018, girl_4_2018, girl_5_2018, (girl_6_2018,)
Out[75]:
((62502,), (61342,), (58369,), (60806.0,), (63762.0,), (57834.0,))
In [51]:
df_2018_mid = df_2018[df_2018['학교급명']=='중학교']
df_2018_mid.head()
Out[51]:
기준년도 시군명 지역교육청명 지역명 학교명 학교급명 설립구분명 주야간명 제외여부 제외사유 ... 5학년여자학생수(명) 6학년남자학생수(명) 6학년여자학생수(명) 특수학급남자학생수(명) 특수학급여자학생수(명) 순회학급남자학생수(명) 순회학급여자학생수(명) 총계남자학생수사항(명) 총계여자학생수사항(명) 총계사항(명)
2 2018 가평군 경기도가평교육지원청 경기도 가평군 청심국제중학교 중학교 사립 주간 N NaN ... NaN NaN NaN 0 0 0 0 119(0) 204(0) 323(0)
6 2018 가평군 경기도가평교육지원청 경기도 가평군 가평중학교 중학교 공립 주간 N NaN ... NaN NaN NaN 5 0 1 3 282(6) 227(3) 509(9)
7 2018 가평군 경기도가평교육지원청 경기도 가평군 가평북중학교 중학교 공립 주간 N NaN ... NaN NaN NaN 1 0 0 0 24(1) 14(0) 38(1)
8 2018 가평군 경기도가평교육지원청 경기도 가평군 설악중학교 중학교 공립 주간 N NaN ... NaN NaN NaN 2 1 0 0 118(2) 104(1) 222(3)
9 2018 가평군 경기도가평교육지원청 경기도 가평군 조종중학교 중학교 공립 주간 N NaN ... NaN NaN NaN 1 0 0 0 120(1) 111(0) 231(1)

5 rows × 29 columns

In [76]:
boy_7_2018 = np.sum(df_2018_mid['1학년남자학생수(명)']), 
boy_8_2018 = np.sum(df_2018_mid['2학년남자학생수(명)']), 
boy_9_2018 = np.sum(df_2018_mid['3학년남자학생수(명)'])

boy_7_2018, boy_8_2018, (boy_9_2018,)
Out[76]:
((57446,), (61865,), (63642,))
In [77]:
girl_7_2018 = np.sum(df_2018_mid['1학년여자학생수(명)']), 
girl_8_2018 = np.sum(df_2018_mid['2학년여자학생수(명)']), 
girl_9_2018 = np.sum(df_2018_mid['3학년여자학생수(명)'])

girl_7_2018, girl_8_2018, (girl_9_2018,)
Out[77]:
((54531,), (58642,), (59628,))
In [55]:
df_2018_high = df_2018[df_2018['학교급명']=='고등학교']
df_2018_high.head()
Out[55]:
기준년도 시군명 지역교육청명 지역명 학교명 학교급명 설립구분명 주야간명 제외여부 제외사유 ... 5학년여자학생수(명) 6학년남자학생수(명) 6학년여자학생수(명) 특수학급남자학생수(명) 특수학급여자학생수(명) 순회학급남자학생수(명) 순회학급여자학생수(명) 총계남자학생수사항(명) 총계여자학생수사항(명) 총계사항(명)
0 2018 가평군 경기도교육청 경기도 가평군 가평고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 15 1 0 0 369(15) 346(1) 715(16)
3 2018 가평군 경기도교육청 경기도 가평군 설악고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 0 0 0 0 99(0) 92(0) 191(0)
4 2018 가평군 경기도교육청 경기도 가평군 조종고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 4 0 0 0 125(4) 101(0) 226(4)
5 2018 가평군 경기도교육청 경기도 가평군 청평고등학교 고등학교 공립 주간 N NaN ... NaN NaN NaN 2 0 0 0 198(2) 87(0) 285(2)
26 2018 가평군 경기도교육청 경기도 가평군 청심국제고등학교 고등학교 사립 주간 N NaN ... NaN NaN NaN 0 0 0 0 114(0) 191(0) 305(0)

5 rows × 29 columns

In [72]:
boy_10_2018 = np.sum(df_2018_high['1학년남자학생수(명)']), 
boy_11_2018 = np.sum(df_2018_high['2학년남자학생수(명)']), 
boy_12_2018 = np.sum(df_2018_high['3학년남자학생수(명)'])

boy_10_2018, boy_11_2018, (boy_12_2018,)
Out[72]:
((60528,), (66770,), (74565,))
In [73]:
girl_10_2018 = np.sum(df_2018_high['1학년여자학생수(명)']), 
girl_11_2018 = np.sum(df_2018_high['2학년여자학생수(명)']), 
girl_12_2018 = np.sum(df_2018_high['3학년여자학생수(명)'])

girl_10_2018, girl_11_2018, (girl_12_2018,)
Out[73]:
((56309,), (62191,), (69362,))
In [93]:
boy_2018=np.array([boy_1_2018, boy_2_2018, boy_3_2018, boy_4_2018, boy_5_2018, (boy_6_2018,), boy_7_2018, boy_8_2018, (boy_9_2018,), boy_10_2018, boy_11_2018, (boy_12_2018,)])
boy_2018
Out[93]:
array([[65067.],
       [64591.],
       [61348.],
       [63967.],
       [66445.],
       [60761.],
       [57446.],
       [61865.],
       [63642.],
       [60528.],
       [66770.],
       [74565.]])
In [94]:
girl_2018=np.array([girl_1_2018, girl_2_2018, girl_3_2018, girl_4_2018, girl_5_2018, (girl_6_2018,), girl_7_2018, girl_8_2018, (girl_9_2018,), girl_10_2018, girl_11_2018, (girl_12_2018,)])
girl_2018
Out[94]:
array([[62502.],
       [61342.],
       [58369.],
       [60806.],
       [63762.],
       [57834.],
       [54531.],
       [58642.],
       [59628.],
       [56309.],
       [62191.],
       [69362.]])
In [104]:
import matplotlib.pyplot as plt

plt.plot([1,2,3,4,5,6,7,8,9,10,11,12],boy_2018)
plt.plot([1,2,3,4,5,6,7,8,9,10,11,12], girl_2018)

plt.legend(['boy', 'girl'])

plt.xlabel('grade')
plt.ylabel('number')

plt.title('2018 Boys and Girls \n for each grade', fontsize=20)
Out[104]:
Text(0.5,1,'2018 Boys and Girls \n for each grade')
In [98]:
total_2018=boy_2018+girl_2018
total_2018
Out[98]:
array([[127569.],
       [125933.],
       [119717.],
       [124773.],
       [130207.],
       [118595.],
       [111977.],
       [120507.],
       [123270.],
       [116837.],
       [128961.],
       [143927.]])
In [106]:
import matplotlib.pyplot as plt

plt.plot([1,2,3,4,5,6,7,8,9,10,11,12],total_2018)

plt.legend(['total'])

plt.xlabel('grade')
plt.ylabel('number')

plt.title('2018 Total student \n for each grade', fontsize=20)
Out[106]:
Text(0.5,1,'2018 Total student \n for each grade')
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함