Pandas DataFrame DataFrame.fillna() 함수
Suraj Joshi
2023년1월30일
-
pandas.DataFrame.fillna()
의 구문: -
예제 코드:
DataFrame.fillna()
메서드로DataFrame
의 모든NaN
값 채우기 -
예제 코드:
method
매개 변수가있는DataFrame.fillna()
메서드 -
예제 코드:
limit
매개 변수가있는DataFrame.fillna()
메서드
pandas.DataFrame.fillna()
함수는DataFrame
의NaN
값을 일정 값으로 대체한다.
pandas.DataFrame.fillna()
의 구문:
DataFrame.fillna(
value=None, method=None, axis=None, inplace=False, limit=None, downcast=None
)
매개 변수
value |
scalar ,dict ,Series 또는DataFrame . NaN 값을 대체하는 데 사용되는 값 |
method |
backfill ,bfill ,pad ,ffill 또는None . NaN 값을 채우는 데 사용되는 방법입니다. |
axis |
행(axis=0 ) 또는 열(axis=1 )을 따라 누락 된 값 채우기 |
inplace |
부울. True 이면 호출자DataFrame 을 제자리에서 수정합니다. |
limit |
정수. method 를 지정하면 앞으로 / 뒤로 채울 연속NaN 값의 최대 개수입니다. method 를 지정하지 않으면 채울 축의NaN 의 최대 개수입니다. |
downcast |
사전. 데이터 유형의 다운 캐스트를 지정합니다. |
반환
inplace
가True
이면 모든NaN
값을 주어진value
로 대체하는DataFrame
; 그렇지 않으면 None
.
예제 코드: DataFrame.fillna()
메서드로DataFrame
의 모든NaN
값 채우기
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(5)
print("Filled DataFrame:")
print(filled_df)
출력:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 5.0
2 3.0 8.0
3 5.0 5.0
4 3.0 3.0
DataFrame
의 모든NaN
값을pandas.DataFrame.fillna()
메소드에서 인수로 제공된5
로 채 웁니다.
평균이있는DataFrame.fillna()
열의 NaN
값을 해당 열의 평균으로 바꾸는 것도 좋은 생각입니다.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
df.fillna(df.mean(),inplace=True)
print("Filled DataFrame:")
print(df)
출력:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.00 4.0
1 2.00 5.0
2 3.00 8.0
3 2.25 5.0
4 3.00 3.0
X
열의 NaN
값은 X
열의 평균으로, Y
열의 NaN
값은 Y
열의 평균으로 채 웁니다.
inplace = True
로 인해fillna()
함수 호출 후 원본DataFrame
이 수정됩니다.
DataFrame.fillna()
및0
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
df.fillna(0,inplace=True)
print("Filled DataFrame:")
print(df)
출력:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 0.0
2 3.0 8.0
3 0.0 0.0
4 3.0 3.0
모든NaN
을0
으로 채 웁니다.
예제 코드: method
매개 변수가있는DataFrame.fillna()
메서드
method
매개 변수의 다른 선택 사항을 사용하여 DataFrame
의 NaN
값을 채울 수도 있습니다.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(method="backfill")
print("Filled DataFrame:")
print(filled_df)
출력:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 8.0
2 3.0 8.0
3 3.0 3.0
4 3.0 3.0
method = "backfill"
을 설정하면DataFrame
의 모든NaN
값이 동일한 열의NaN
값 뒤의 값으로 채워집니다.
bfill
,pad
및ffill
메서드를 사용하여DataFrame
의NaN
값을 채울 수도 있습니다.
method |
기술 |
---|---|
backfill /bfill |
DataFrame 의 모든 NaN 값을 동일한 열의 NaN 값 뒤의 값으로 채 웁니다. |
ffill /pad |
DataFrame 의 모든 NaN 값을 동일한 열의 NaN 값 앞의 값으로 채 웁니다. |
예제 코드: limit
매개 변수가있는DataFrame.fillna()
메서드
DataFrame.fillna()
메서드의limit
매개 변수는 메서드가 채울 연속NaN
값의 최대 개수를 제한합니다.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2,np.nan, 3,3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(3,limit=1)
print("Filled DataFrame:")
print(filled_df)
출력:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 NaN 8.0
3 3.0 NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 3.0
2 3.0 8.0
3 3.0 NaN
4 3.0 3.0
여기서 NaN
이 열에 채워지면 같은 열에있는 다른 NaN
값은 그대로 유지됩니다.
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn