Python/Python For Analytics

[Python] replacement of Pandas dataframe NaN value

Pydole 2020. 2. 16. 12:02

 

fillna()은 "NaN" 값만을 변환. "NaN" 값만 처리할 경우 fillna()를 쓰면 되겠다.

 

 


 

 

fillna()를 이용하여 "NaN" 값을 0 (Zero) 으로 대체

 

import pandas as pd
import numpy as np

list_A = [1, 2, 3, 4, np.nan, 6, 0 ]

df = pd.DataFrame(list_A, columns=['value'])
print(df['value'])

df['value'] = df['value'].fillna(0)
print(df['value'])

----------------------------------------------

0    1.0
1    2.0
2    3.0
3    4.0
4    NaN
5    6.0
6    0.0
Name: value, dtype: float64


0    1.0
1    2.0
2    3.0
3    4.0
4    0.0
5    6.0
6    0.0
Name: value, dtype: float64

 

 

replace(before, after)를 이용하여 "NaN" 값을 0 (Zero) 으로 대체 

 

import pandas as pd
import numpy as np

list_A = [1, 2, 3, 4, np.nan, 6, 0 ]

df = pd.DataFrame(list_A, columns=['value'])
print(df['value'])

df['value'] = df['value'].replace(np.nan, 0)
print(df)

----------------------------------------------

0    1.0
1    2.0
2    3.0
3    4.0
4    NaN
5    6.0
6    0.0
Name: value, dtype: float64

   value
0    1.0
1    2.0
2    3.0
3    4.0
4    0.0
5    6.0
6    0.0