Pandas 결측치 처리(dropna/fillna) 방법

Pandas는 데이터프레임에서 결측치(누락된 데이터)를 처리하는 다양한 방법을 제공한다. 이러한 결측치 처리는 데이터 정제 및 분석 중에 중요한 역할을 한다. 이 글에서는 Pandas를 사용하여 결측치를 처리하는 주요 메서드인 dropnafillna에 대해 알아본다.

dropna 메서드

dropna 메서드는 데이터프레임에서 결측치를 삭제하는 데 사용된다. 기본적으로 모든 행에서 하나라도 결측치가 있는 경우 해당 행을 삭제한다.

import pandas as pd
import numpy as np

data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)

# 결측치가 있는 행 삭제
df_cleaned = df.dropna()
df_cleaned 

fillna 메서드

fillna 메서드는 결측치를 대체하거나 채우는 데 사용된다. 이 메서드를 사용하면 결측치를 원하는 값으로 대체할 수 있다.

결측치 특정 값으로 대체

import pandas as pd
import numpy as np

data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)

# 결측치를 0으로 대체
df_filled = df.fillna(0)
df_filled

결측치 평균값으로 대체

import pandas as pd
import numpy as np

data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)

# 결측치를 각 열의 평균값으로 대체
mean_A = df['A'].mean()
mean_B = df['B'].mean()

df_filled = df.fillna({'A': mean_A, 'B': mean_B})
df_filled 

A의 결측치는 평균인 2.333333으로 대체 되었고, B의 결측치는 평균인 7.0으로 대체 되었다.

inplace 매개변수

dropnafillna 메서드에 inplace 매개변수를 사용하여 원본 데이터프레임을 수정할 수 있다. 이 매개변수를 True로 설정하면 변경 내용이 원본 데이터프레임에 적용된다.

import pandas as pd
import numpy as np

data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)

# 결측치를 각 열의 평균값으로 대체
mean_A = df['A'].mean()
mean_B = df['B'].mean()

df.fillna({'A': mean_A, 'B': mean_B}, inplace=True)
df

참조

답글 남기기