실습 데이터 생성
import pandas as pd
import numpy as np
# 실습 데이터 생성
df = pd.DataFrame(data = np.arange(18).reshape(6,3),
index = ['a','b','c','d','e','f'],
columns=['col1','col2','col3'])
df['col4'] = pd.Series(data = [1.7, 1.2, 2.4],
index = ['a','e','c'])
df.loc['c'] = None
print('Sample Data')
print(df)
Sample Data col1 col2 col3 col4
a 0.0 1.0 2.0 1.7
b 3.0 4.0 5.0 NaN
c NaN NaN NaN NaN
d 9.0 10.0 11.0 NaN
e 12.0 13.0 14.0 1.2
f 15.0 16.0 17.0 NaN
df.info()
<class 'pandas.core.frame.DataFrame'>
Index: 6 entries, a to f
Data columns (total 4 columns):
Column Non-Null Count Dtype
0 col1 5 non-null float64
1 col2 5 non-null float64
2 col3 5 non-null float64
3 col4 2 non-null float64
dtypes: float64(4)
memory usage: 412.0+ bytes
df.describe()
dropna() - 결측값 삭제
df.isnull()
df.dropna()
df.dropna(axis=1)
df.dropna(how='all')
df.dropna(how='all', axis = 1)
fillna() - 결측값 대체
- DataFrame.fillna(value=None, ***, method=None, axis=None, inplace=False, limit=None, downcast=None)
df.fillna(1)
replace_set = {'col2':0,'col4':'100'}
print(df.fillna(replace_set))
col1 col2 col3 col4
a 0.0 1.0 2.0 1.7
b 3.0 4.0 5.0 100
c NaN 0.0 NaN 100
d 9.0 10.0 11.0 100
e 12.0 13.0 14.0 1.2
f 15.0 16.0 17.0 100
replace_set = {'col1':df['col1'].mean()}
df.fillna(replace_set, inplace=True)
replace_set = {'col1':df['col1'].max()}
df.fillna(replace_set)
앞에 값으로 대체
df.fillna(method='ffill')
뒤에 값으로 대체
df.fillna(method='bfill')
특정 값으로 대체
# 특정 값으로 대체
df.fillna(value=100, inplace=True)
# 0으로 대체
df.fillna(value=0, inplace=True)
'빅데이터 분석가 양성과정 > Python' 카테고리의 다른 글
스케일링 / 표준화 / 정규화 (1) | 2024.07.10 |
---|---|
데이터 인코딩 (0) | 2024.07.10 |
pandas - brazil ecommerce dataset ( 2 ) (0) | 2024.07.09 |
pandas - brazil ecommerce dataset ( 1 ) (0) | 2024.07.09 |
pandas_COVID-19 ( 3 ) (0) | 2024.07.09 |