Pandas: nan 값을 평균으로 채우는 방법(예제 3개)


fillna() 함수를 사용하여 Pandas DataFrame의 NaN 값을 바꿀 수 있습니다.

이 기능을 사용하는 세 가지 일반적인 방법은 다음과 같습니다.

방법 1: 열의 NaN 값을 평균으로 채우기

 df[' col1 '] = df[' col1 ']. fillna (df[' col1 ']. mean ())

방법 2: 여러 열의 NaN 값을 평균으로 채우기

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. fillna (df[[' col1 ',' col2 ']]. mean ())

방법 3: 모든 열의 NaN 값을 평균으로 채우기

 df = df. fillna ( df.mean ())

다음 예에서는 다음 pandas DataFrame에서 실제로 각 메서드를 사용하는 방법을 보여줍니다.

 import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd. DataFrame ({' rating ': [np.nan, 85, np.nan, 88, 94, 90, 76, 75, 87, 86],
                   ' points ': [25, np.nan, 14, 16, 27, 20, 12, 15, 14, 19],
                   ' assists ': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 5],
                   ' rebounds ': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
df

        rating points assists rebounds
0 NaN 25.0 5.0 11
1 85.0 NaN 7.0 8
2 NaN 14.0 7.0 10
3 88.0 16.0 NaN 6
4 94.0 27.0 5.0 6
5 90.0 20.0 7.0 9
6 76.0 12.0 6.0 6
7 75.0 15.0 9.0 10
8 87.0 14.0 9.0 10
9 86.0 19.0 5.0 7

예시 1: 열의 NaN 값을 평균으로 채우기

다음 코드는 등급 열의 NaN 값을 등급 열의 평균값으로 채우는 방법을 보여줍니다.

 #fill NaNs with column mean in 'rating' column
df[' rating '] = df[' rating ']. fillna (df[' rating ']. mean ())

#view updated DataFrame
df

	rating points assists rebounds
0 85.125 25.0 5.0 11
1 85,000 NaN 7.0 8
2 85.125 14.0 7.0 10
3 88,000 16.0 NaN 6
4 94,000 27.0 5.0 6
5 90,000 20.0 7.0 9
6 76,000 12.0 6.0 6
7 75,000 15.0 9.0 10
8 87,000 14.0 9.0 10
9 86,000 19.0 5.0 7

등급 열의 평균 값은 85.125 이므로 등급 열의 각 NaN 값은 해당 값으로 채워졌습니다.

예시 2: 여러 열의 NaN 값을 평균으로 채우기

다음 코드는 평점점수 열의 NaN 값을 해당 열 평균으로 채우는 방법을 보여줍니다.

 #fill NaNs with column means in 'rating' and 'points' columns
df[[' rating ', ' points ']] = df[[' rating ', ' points ']]. fillna (df[[' rating ',' points ']]. mean ())

#view updated DataFrame
df

	rating points assists rebounds
0 85.125 25.0 5.0 11
1 85,000 18.0 7.0 8
2 85.125 14.0 7.0 10
3 88,000 16.0 NaN 6
4 94,000 27.0 5.0 6
5 90,000 20.0 7.0 9
6 76,000 12.0 6.0 6
7 75,000 15.0 9.0 10
8 87,000 14.0 9.0 10
9 86,000 19.0 5.0 7

성적점수 열의 NaN 값은 해당 열 평균으로 채워졌습니다.

예시 3: 모든 열의 NaN 값을 평균으로 채웁니다.

다음 코드는 각 열의 NaN 값을 열 평균으로 채우는 방법을 보여줍니다.

 #fill NaNs with column means in each column 
df = df. fillna ( df.mean ())

#view updated DataFrame
df

        rating points assists rebounds
0 85.125 25.0 5.000000 11
1 85,000 18.0 7,000000 8
2 85.125 14.0 7.000000 10
3 88,000 16.0 6.666667 6
4 94,000 27.0 5,000000 6
5 90,000 20.0 7,000000 9
6 76,000 12.0 6,000000 6
7 75,000 15.0 9,000000 10
8 87,000 14.0 9,000000 10
9 86,000 19.0 5,000000 7

각 열의 NaN 값은 해당 열의 평균으로 채워졌습니다.

fillna() 함수에 대한 전체 온라인 설명서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

팬더에서 누락된 값을 계산하는 방법
Pandas에서 NaN 값이 있는 행을 삭제하는 방법
Pandas에서 특정 값이 포함된 행을 삭제하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다