5. 데이터 확인¶
In [26]:
from IPython.core.display import display, HTML
display(HTML("<style>.container {width:90% !important;}</style>"))
In [1]:
import pandas as pd
df = pd.read_excel('score.xlsx', index_col='지원번호')
df
Out[1]:
| 이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | 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 확인¶
계산 가능한 데이터에 대해 컬럼별로 데이터이 갯수, 평균, 표준편차, 최소/최대값 등의 정보를 보여줌
In [2]:
df.describe()
Out[2]:
| 키 | 국어 | 영어 | 수학 | 과학 | 사회 | |
|---|---|---|---|---|---|---|
| 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 |
In [3]:
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
In [7]:
df.head(5) #처음 5개의 row를 가져옴(기본값 5개)
Out[7]:
| 이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | 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 |
In [9]:
df.tail(5) #마지막 5개 row가져옴(기본값 5개)
Out[9]:
| 이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | 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# |
In [11]:
df.columns
Out[11]:
Index(['이름', '학교', '키', '국어', '영어', '수학', '과학', '사회', 'SW특기'], dtype='object')
In [14]:
df
Out[14]:
| 이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | 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# |
In [15]:
df.shape #row, column 개수 확인
Out[15]:
(8, 9)
Series확인¶
In [16]:
df['키'].describe()
Out[16]:
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
In [17]:
df['키'].min()
Out[17]:
168
In [18]:
df['키'].max()
Out[18]:
202
In [19]:
df['키'].nlargest(3) #키 큰 사람 순서대로 3명 데이터
Out[19]:
지원번호 6번 202 1번 197 8번 190 Name: 키, dtype: int64
In [20]:
df['키'].mean()
Out[20]:
188.0
In [21]:
df['키'].sum()
Out[21]:
1504
In [23]:
df['SW특기'].count() #유요한 값만 개수 확인
Out[23]:
6
In [24]:
df['학교'].unique() #중복을 제외한 데이터 보여줌
Out[24]:
array(['북산고', '능남고'], dtype=object)
In [25]:
df['학교'].nunique() #중복을 제외하고 몇개의 데이터가 있는지 보여줌
Out[25]:
2
In [ ]:
In [ ]:
'데이터 분석 기초' 카테고리의 다른 글
| 07.데이터 선택(loc) (0) | 2023.03.11 |
|---|---|
| 06.데이터 선택(기본) (0) | 2023.03.11 |
| 04.파일 저장 및 열기 (0) | 2023.03.06 |
| 03.index (0) | 2023.03.06 |
| 02.DataFrame (0) | 2023.03.06 |