3 분 소요

5. 데이터 확인

import pandas as pd
df = pd.read_excel('score.xlsx', index_col='지원번호')
df
이름 학교 국어 영어 수학 과학 사회 SW특기
지원번호
1번 채치수 북산고 197 90 85 100 95 85 Python
2번 정대만 북산고 184 40 35 50 55 25 Java
3번 송태섭 북산고 168 80 75 70 80 75 Javascript
4번 서태웅 북산고 187 40 60 70 75 80 NaN
5번 강백호 북산고 188 15 20 10 35 10 NaN
6번 변덕규 능남고 202 80 100 95 85 80 C
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
8번 윤대협 능남고 190 100 85 90 95 95 C#

DataFrame 확인

계산 가능한 데이터에 대해 Column 별로 데이터의 갯수,평균,표준편차,최소/최대값 등의 정보를 보여줌.

df.describe()
국어 영어 수학 과학 사회
count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 188.000000 62.500000 65.625000 66.250000 70.000000 60.625000
std 9.985704 29.519969 26.917533 30.325614 23.754699 32.120032
min 168.000000 15.000000 20.000000 10.000000 35.000000 10.000000
25% 186.250000 40.000000 53.750000 48.750000 51.250000 32.500000
50% 188.000000 67.500000 70.000000 70.000000 77.500000 77.500000
75% 191.750000 82.500000 85.000000 91.250000 87.500000 81.250000
max 202.000000 100.000000 100.000000 100.000000 95.000000 95.000000
df.info()
<class 'pandas.core.frame.DataFrame'>
Index: 8 entries, 1번 to 8번
Data columns (total 9 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   이름      8 non-null      object
 1   학교      8 non-null      object
 2   키       8 non-null      int64 
 3   국어      8 non-null      int64 
 4   영어      8 non-null      int64 
 5   수학      8 non-null      int64 
 6   과학      8 non-null      int64 
 7   사회      8 non-null      int64 
 8   SW특기    6 non-null      object
dtypes: int64(6), object(3)
memory usage: 640.0+ bytes
df.head() # 처음 5개의 row를 가져옴
이름 학교 국어 영어 수학 과학 사회 SW특기
지원번호
1번 채치수 북산고 197 90 85 100 95 85 Python
2번 정대만 북산고 184 40 35 50 55 25 Java
3번 송태섭 북산고 168 80 75 70 80 75 Javascript
4번 서태웅 북산고 187 40 60 70 75 80 NaN
5번 강백호 북산고 188 15 20 10 35 10 NaN
df.head(7) # 처음 7개의 row를 가져옴
이름 학교 국어 영어 수학 과학 사회 SW특기
지원번호
1번 채치수 북산고 197 90 85 100 95 85 Python
2번 정대만 북산고 184 40 35 50 55 25 Java
3번 송태섭 북산고 168 80 75 70 80 75 Javascript
4번 서태웅 북산고 187 40 60 70 75 80 NaN
5번 강백호 북산고 188 15 20 10 35 10 NaN
6번 변덕규 능남고 202 80 100 95 85 80 C
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
df.tail() # 마지막 5개 row를 가져옴
이름 학교 국어 영어 수학 과학 사회 SW특기
지원번호
4번 서태웅 북산고 187 40 60 70 75 80 NaN
5번 강백호 북산고 188 15 20 10 35 10 NaN
6번 변덕규 능남고 202 80 100 95 85 80 C
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
8번 윤대협 능남고 190 100 85 90 95 95 C#
df.tail(3) # 마지막 3개 row를 가져옴
이름 학교 국어 영어 수학 과학 사회 SW특기
지원번호
6번 변덕규 능남고 202 80 100 95 85 80 C
7번 황태산 능남고 188 55 65 45 40 35 PYTHON
8번 윤대협 능남고 190 100 85 90 95 95 C#
df.values
array([['채치수', '북산고', 197, 90, 85, 100, 95, 85, 'Python'],
       ['정대만', '북산고', 184, 40, 35, 50, 55, 25, 'Java'],
       ['송태섭', '북산고', 168, 80, 75, 70, 80, 75, 'Javascript'],
       ['서태웅', '북산고', 187, 40, 60, 70, 75, 80, nan],
       ['강백호', '북산고', 188, 15, 20, 10, 35, 10, nan],
       ['변덕규', '능남고', 202, 80, 100, 95, 85, 80, 'C'],
       ['황태산', '능남고', 188, 55, 65, 45, 40, 35, 'PYTHON'],
       ['윤대협', '능남고', 190, 100, 85, 90, 95, 95, 'C#']], dtype=object)
df.index
Index(['1번', '2번', '3번', '4번', '5번', '6번', '7번', '8번'], dtype='object', name='지원번호')
df.columns
Index(['이름', '학교', '키', '국어', '영어', '수학', '과학', '사회', 'SW특기'], dtype='object')
df.shape # row, column
(8, 9)

Series 확인

df['키']
지원번호
1번    197
2번    184
3번    168
4번    187
5번    188
6번    202
7번    188
8번    190
Name: 키, dtype: int64
df['키'].describe()
count      8.000000
mean     188.000000
std        9.985704
min      168.000000
25%      186.250000
50%      188.000000
75%      191.750000
max      202.000000
Name: 키, dtype: float64
df['키'].min()
168
df['키'].max()
202
df['키'].nlargest(3) # 키 큰 사람 순서대로 3명 데이터
지원번호
6번    202
1번    197
8번    190
Name: 키, dtype: int64
df['키'].mean()
188.0
df['키'].sum()
1504
df['SW특기'].count()
6
df['학교'].unique()
array(['북산고', '능남고'], dtype=object)
df['학교'].nunique() # 중복 제외하고 학교 갯수.
2

댓글남기기