pandas 100제: 판다스 연습문제와 풀이 · 2장

011–020 데이터 살펴보기

head, tail, dtypes, describe, value_counts, unique, nunique, mean, sample 연습문제

3분 읽기

처음 받은 데이터를 훑어보는 함수들입니다. 실무에서 가장 자주 치는 코드이기도 합니다.

준비 코드

이 장의 문제는 아래 코드를 먼저 실행한 상태에서 풉니다.

Pythonimport pandas as pd
import numpy as np

df = pd.DataFrame({
    'name': ['김민준', '이서연', '박지호', '최수아', '정민서', '강도윤', '윤하은', '임시우'],
    'class': ['A', 'B', 'A', 'C', 'B', 'C', 'A', 'B'],
    'kor': [85, 92, 58, 77, 66, 90, 73, 81],
    'eng': [78, 88, 64, 95, 59, 70, 82, 91],
    'math': [92, 75, 49, 88, 71, 66, 95, 60],
})

011. 앞부분 보기

df의 처음 3행을 보이세요.

정답 보기
Pythondf.head(3)
결과     name class  kor  eng  math
0  김민준     A   85   78    92
1  이서연     B   92   88    75
2  박지호     A   58   64    49

head()만 쓰면 5행입니다.

012. 뒷부분 보기

df의 마지막 2행을 보이세요.

정답 보기
Pythondf.tail(2)
결과     name class  kor  eng  math
6  윤하은     A   73   82    95
7  임시우     B   81   91    60

013. 열 이름 목록

df의 열 이름을 리스트로 구하세요.

정답 보기
Pythondf.columns.tolist()
결과['name', 'class', 'kor', 'eng', 'math']

014. 열별 자료형

df의 열별 자료형을 확인하세요.

정답 보기
Pythondf.dtypes
결과name     object
class    object
kor       int64
eng       int64
math      int64
dtype: object

문자열 열은 object로 보입니다.

015. 요약 통계

수학 점수의 개수, 평균, 표준편차, 사분위수를 한 번에 구하세요.

정답 보기
Pythondf['math'].describe()
결과count     8.000000
mean     74.500000
std      16.274432
min      49.000000
25%      64.500000
50%      73.000000
75%      89.000000
max      95.000000
Name: math, dtype: float64

016. 범주별 개수

반별 학생 수를 구하세요.

정답 보기
Pythondf['class'].value_counts()
결과class
A    3
B    3
C    2
Name: count, dtype: int64

많은 순으로 정렬되어 나옵니다.

017. 고유한 값

반 이름의 종류와 종류 수를 구하세요.

정답 보기
Pythondf['class'].unique(), df['class'].nunique()
결과(array(['A', 'B', 'C'], dtype=object), 3)

018. 평균과 최댓값

국어 점수의 평균과 최댓값을 구하세요.

정답 보기
Pythondf['kor'].mean(), df['kor'].max()
결과(77.75, 92)

019. 여러 열의 평균

세 과목 각각의 평균을 구하세요.

정답 보기
Pythondf[['kor', 'eng', 'math']].mean()
결과kor     77.750
eng     78.375
math    74.500
dtype: float64

020. 무작위로 뽑기

df에서 3행을 무작위로 뽑으세요. 결과가 늘 같도록 random_state=0을 주세요.

정답 보기
Pythondf.sample(3, random_state=0)
결과     name class  kor  eng  math
6  윤하은     A   73   82    95
2  박지호     A   58   64    49
1  이서연     B   92   88    75

random_state를 고정하면 다시 실행해도 같은 행이 나옵니다.

전체 메뉴