본문 바로가기
파이썬/파이썬 pandas

[pandas] 데이터 확인하기

by Merware 2023. 5. 11.

데이터 미리보기

가장 앞의 n행 보기

  • 데이터프레임.head(n)
  • 시리즈.head(n)
  • n을 생략하면 5개의 행을 출력한다
df.head(3)

"""
	name	kor	eng	math
0	Aiden	100.0	90.0	95.0
1	Charles	90.0	80.0	75.0
2	Danial	95.0	100.0	100.0

 

가장 뒤의 n행 보기

  • 데이터프레임.tail(n)
  • n을 생략하면 5개의 행을 출력한다
df.tail()

"""
	name	kor	eng	math
25	Vanessa	95.0	70.0	95.0
26	Viviana	100.0	80.0	100.0
27	Vikkie	NaN	50.0	100.0
28	Winnie	70.0	100.0	70.0
29	Zuly	80.0	90.0	95.0

 

랜덤 보기

랜덤 n개 데이터 보기

  • 데이터프레임.sample(n)
  • n을 생략하면 1개의 샘플을 출력한다.
df.sample()

"""
	name	kor	eng	math
13	Amy	90.0	75.0	90.0

랜덤 샘플 비율로 보기

  • 데이터프레임.sample(frac=0.2)
  • 지정한 비율의 샘플을 출력한다
df.sample(frac=0.2)

"""
	name	kor	eng	math
19	Kate	50.0	NaN	50.0
12	Peter	100.0	95.0	100.0
15	Danna	100.0	100.0	100.0
23	Sofia	100.0	100.0	100.0
6	James	70.0	75.0	65.0
11	Oliver	70.0	75.0	65.0

높은 순/낮은순 보기

높은순 보기

  • 데이터프레임.nlargest(갯수,컬럼명)
  • 컬럼의 데이터가 숫자형일 때 사용할 수 있다.
# eng 높은 순으로 5개 보기
df.nlargest(5,'eng')

"""
	name	kor	eng	math
2	Danial	95.0	100.0	100.0
3	Evan	100.0	100.0	100.0
5	Ian	90.0	100.0	90.0
9	Kevin	100.0	100.0	90.0
14	Chloe	95.0	100.0	95.0

낮은순 보기

  • 데이터프레임.nsmallest(갯수,컬럼명)
  • 컬럼의 데이터가 숫자형일 때 사용할 수 있다.
# eng 낮은 순으로 5개 보기
df.nsmallest(5,'eng')

"""
	name	kor	eng	math
4	Henry	NaN	35.0	60.0
27	Vikkie	NaN	50.0	100.0
18	Jennifer	80.0	55.0	80.0
8	Justin	50.0	60.0	100.0
16	Ellen	NaN	60.0	NaN

 

데이터 요약 보기

(행,열)의 크기 보기

  • 데이터프레임.shape
df.shape

"""
(30, 4)

데이터의 갯수 보기

  • len(데이터프레임)
len(df)

"""
30

컬럼명 보기

  • 데이터프레임.columns
  • 데이터프레임의 열 이름을 확인한다.
df.columns

"""
Index(['name', 'kor', 'eng', 'math'], dtype='object')

인덱스 보기

  • 데이터프레임.index
  • 데이터프레임의 인덱스를 확인한다.
df.index

"""
RangeIndex(start=0, stop=30, step=1)
"""

df

"""
	name	kor	eng	math
0	Aiden	100.0	90.0	95.0
1	Charles	90.0	80.0	75.0
2	Danial	95.0	100.0	100.0
3	Evan	100.0	100.0	100.0
4	Henry	NaN	35.0	60.0
5	Ian	90.0	100.0	90.0
6	James	70.0	75.0	65.0
7	Julian	80.0	90.0	55.0
8	Justin	50.0	60.0	100.0
9	Kevin	100.0	100.0	90.0
10	Leo	90.0	95.0	70.0
11	Oliver	70.0	75.0	65.0
12	Peter	100.0	95.0	100.0
13	Amy	90.0	75.0	90.0
14	Chloe	95.0	100.0	95.0
15	Danna	100.0	100.0	100.0
16	Ellen	NaN	60.0	NaN
17	Emma	70.0	65.0	70.0
18	Jennifer	80.0	55.0	80.0
19	Kate	50.0	NaN	50.0
20	Linda	100.0	90.0	100.0
21	Olivia	90.0	70.0	90.0
22	Rose	70.0	65.0	70.0
23	Sofia	100.0	100.0	100.0
24	Tiffany	90.0	NaN	90.0
25	Vanessa	95.0	70.0	95.0
26	Viviana	100.0	80.0	100.0
27	Vikkie	NaN	50.0	100.0
28	Winnie	70.0	100.0	70.0
29	Zuly	80.0	90.0	95.0

데이터의 자료형 보기

  • 데이터프레임.dtypes
  • 데이터프레임을 구성하는 값의 자료형을 확인한다.
  • 판다스에서는 문자열의 데이터타입이 object이다.
df.dtypes

"""
name     object
kor     float64
eng     float64
math    float64
dtype: object

데이터프레임 정보 보기

  • 데이터프레임.info()
  • 데이터프레임의 총 샘플 갯수, 컬럼 수, 컬럼 별 정보 등을 확인한다.
df.info()

"""
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 30 entries, 0 to 29
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   name    30 non-null     object 
 1   kor     27 non-null     float64
 2   eng     28 non-null     float64
 3   math    29 non-null     float64
dtypes: float64(3), object(1)
memory usage: 1.1+ KB

컬럼의 유니크한 데이터 뽑기

  • 컬럼.unique()
df['kor'].unique()

"""
array([100.,  90.,  95.,  nan,  70.,  80.,  50.])

컬럼의 유니크한 값의 갯수 보기

  • 컬럼.value_counts()
df['kor'].value_counts()

"""
100.0    8
90.0     6
70.0     5
80.0     3
95.0     3
50.0     2
Name: kor, dtype: int64

요약통계 보기

df.describe()

"""
	kor		eng		math
count	27.000000	28.000000	29.000000
mean	85.740741	80.892857	84.827586
std	15.045042	18.361270	15.950972
min	50.000000	35.000000	50.000000
25%	75.000000	68.750000	70.000000
50%	90.000000	85.000000	90.000000
75%	100.000000	100.000000	100.000000
max	100.000000	100.000000	100.000000
df['kor'].mean()

"""
85.74074074074075