3 Sun
TIL
[인프런] 단 두 장의 문서로 데이터 분석과 시각화 뽀개기
- Summarize Data
import pandas as pd
import seaborn as sns
import numpy as npdf = sns.load_dataset('iris')
df.shape(150, 5)df.head(2)sepal_length
sepal_width
petal_length
petal_width
species
0
5.1
3.5
1.4
0.2
setosa
1
4.9
3.0
1.4
0.2
setosa
df['w'].value_counts()
해당 키의 원소의 개수를 출력한다. 종류의 개수를 확인할 때 유용하다.
df['species'].value_counts()setosa 50
virginica 50
versicolor 50
Name: species, dtype: int64species
setosa
50
virginica
50
versicolor
50
len(df)
df의 길이를 알 수 있다. shape로도 알 수 있음
df['w'].nunique()
고유값의 개수를 보여준다
df.describe()
수치형 데이터들에 대한 통계값을 보여준다. [option] include : 포함, exclude : 제외 all : 데이터 타입과 관련없이 모든 데이터 np.number : numpy로 숫자 형태의 데이터 np.object : object 타입의 데이터 category : category 타입의 데이터
sepal_length
sepal_width
petal_length
petal_width
count
150.000000
150.000000
150.000000
150.000000
mean
5.843333
3.057333
3.758000
1.199333
std
0.828066
0.435866
1.765298
0.762238
min
4.300000
2.000000
1.000000
0.100000
25%
5.100000
2.800000
1.600000
0.300000
50%
5.800000
3.000000
4.350000
1.300000
75%
6.400000
3.300000
5.100000
1.800000
max
7.900000
4.400000
6.900000
2.500000
sepal_length
sepal_width
petal_length
petal_width
species
count
150.000000
150.000000
150.000000
150.000000
150
unique
NaN
NaN
NaN
NaN
3
top
NaN
NaN
NaN
NaN
setosa
freq
NaN
NaN
NaN
NaN
50
mean
5.843333
3.057333
3.758000
1.199333
NaN
std
0.828066
0.435866
1.765298
0.762238
NaN
min
4.300000
2.000000
1.000000
0.100000
NaN
25%
5.100000
2.800000
1.600000
0.300000
NaN
50%
5.800000
3.000000
4.350000
1.300000
NaN
75%
6.400000
3.300000
5.100000
1.800000
NaN
max
7.900000
4.400000
6.900000
2.500000
NaN
species
count
150
unique
3
top
setosa
freq
50
setosa 종이 가장 많이 등장하는 종 중에서 하나인데 50번 등장한다.
some functions()
sepal_length
sepal_width
petal_length
petal_width
0.25
5.1
2.8
1.6
0.3
0.75
6.4
3.3
5.1
1.8
판다스로 apply 활용하기 lambda 익명함수 사용하기 - Summarize Data
df.apply()
sepal_length
sepal_width
petal_length
petal_width
species
species_3
0
5.1
3.5
1.4
0.2
setosa
set
1
4.9
3.0
1.4
0.2
setosa
set
2
4.7
3.2
1.3
0.2
setosa
set
3
4.6
3.1
1.5
0.2
setosa
set
4
5.0
3.6
1.4
0.2
setosa
set
...
...
...
...
...
...
...
145
6.7
3.0
5.2
2.3
virginica
vir
146
6.3
2.5
5.0
1.9
virginica
vir
147
6.5
3.0
5.2
2.0
virginica
vir
148
6.2
3.4
5.4
2.3
virginica
vir
149
5.9
3.0
5.1
1.8
virginica
vir
150 rows × 6 columns
sepal_length
sepal_width
petal_length
petal_width
species
species_3
species-3
0
5.1
3.5
1.4
0.2
setosa
set
osa
1
4.9
3.0
1.4
0.2
setosa
set
osa
2
4.7
3.2
1.3
0.2
setosa
set
osa
3
4.6
3.1
1.5
0.2
setosa
set
osa
4
5.0
3.6
1.4
0.2
setosa
set
osa
...
...
...
...
...
...
...
...
145
6.7
3.0
5.2
2.3
virginica
vir
ica
146
6.3
2.5
5.0
1.9
virginica
vir
ica
147
6.5
3.0
5.2
2.0
virginica
vir
ica
148
6.2
3.4
5.4
2.3
virginica
vir
ica
149
5.9
3.0
5.1
1.8
virginica
vir
ica
150 rows × 7 columns
fillna, dropna로 결측치 다루기 - Handling Missing Data
결측치(Not a ...) 에 대해서 처리하는 방법
name
toy
born
0
Alfred
NaN
NaT
1
Batman
Batmobile
1940-04-25
2
Catwoman
Bullwhip
NaT
name
toy
born
0
Alfred
NaN
NaT
1
Batman
Batmobile
1940-04-25
2
Catwoman
Bullwhip
NaT
name
0
Alfred
1
Batman
2
Catwoman
name
toy
born
1
Batman
Batmobile
1940-04-25
A
B
C
D
0
NaN
2.0
NaN
0
1
3.0
4.0
NaN
1
2
NaN
NaN
NaN
5
3
NaN
3.0
NaN
4
A
B
C
D
0
0.0
2.0
2.0
0
1
3.0
4.0
2.0
1
2
0.0
1.0
2.0
5
3
0.0
3.0
2.0
4
A
B
C
D
0
2.5
2.0
2.5
0
1
3.0
4.0
2.5
1
2
2.5
2.5
2.5
5
3
2.5
3.0
2.5
4
A
B
C
D
0
True
False
True
False
1
False
False
True
False
2
True
True
True
False
3
True
False
True
False
assign 으로 새로운 컬럼 만들기, qcut으로 binning, bucketing 하기 - Make New Columns
A
B
0
1
0.052204
1
2
-1.489858
2
3
0.427285
3
4
1.148815
4
5
-1.301116
5
6
1.739656
6
7
1.000600
7
8
-1.672363
8
9
0.301468
9
10
-0.221703
A
B
ln_A
0
1
0.052204
0.000000
1
2
-1.489858
0.693147
2
3
0.427285
1.098612
3
4
1.148815
1.386294
4
5
-1.301116
1.609438
A
B
ln_A
0
1
0.052204
0.000000
1
2
-1.489858
0.693147
2
3
0.427285
1.098612
3
4
1.148815
1.386294
4
5
-1.301116
1.609438
assign을 통해서 새로운 컬럼을 만들거나, 직접 할당을 해서 만들 수 있다
n개의 버킷 수 만큼 새로운 컬럼을 만들으라는 의미
Last updated
Was this helpful?