Pandas DataFrame에서 NaN 값을 0으로 바꾸기
NaN은 Not A Number의 약자이며 데이터에서 누락된 값을 나타내는 일반적인 방법 중 하나입니다. 특수한 부동 소수점 값이며 float 이외의 다른 유형으로 변환할 수 없습니다. NaN 값은 가장 큰 문제 중 하나입니다.
Pandas DataFrame에서 NaN 값을 0으로 바꾸는 방법
~ 안에 Python에는 Pandas 데이터 프레임에서 NaN 값을 0으로 바꿀 수 있는 두 가지 방법이 있습니다. 그것들은 다음과 같습니다:
Pandas fillna()를 사용하여 NaN 값을 0으로 바꾸기
fillna() 함수는 지정된 방법을 사용하여 NA/NaN 값을 채우는 데 사용됩니다. 더 나은 이해를 위해 몇 가지 예를 살펴보겠습니다.
Pandas fillna()를 사용하여 열의 NaN 값을 0으로 바꿉니다.
fillna() 함수를 사용하여 Pandas 데이터 프레임에서 NaN 값을 단일 열의 0으로 바꾸는 구문은 다음과 같습니다.
Syntax: df['DataFrame Column'] = df['DataFrame Column'].fillna(0)
파이썬3
# importing libraries> import> pandas as pd> import> numpy as np> nums> => {> 'Set_of_Numbers'> : [> 2> ,> 3> ,> 5> ,> 7> ,> 11> ,> 13> ,> > np.nan,> 19> ,> 23> , np.nan]}> # Create the dataframe> df> => pd.DataFrame(nums, columns> => [> 'Set_of_Numbers'> ])> # Apply the function> df[> 'Set_of_Numbers'> ]> => df[> 'Set_of_Numbers'> ].fillna(> 0> )> # print the DataFrame> df> |
산출:
단일 열의 NaN을 대체하는 fillna()
Pandas fillna()를 사용하여 전체 열의 NaN 값을 0으로 바꿉니다.
fillna() 함수를 사용하여 NaN 값을 전체 Pandas 데이터 프레임의 0으로 바꾸는 구문은 다음과 같습니다.
Syntax: df.fillna(0)
파이썬3
# importing libraries> import> pandas as pd> import> numpy as np> nums> => {> 'Number_set_1'> : [> 0> ,> 1> ,> 1> ,> 2> ,> 3> ,> 5> , np.nan,> > 13> ,> 21> , np.nan],> > 'Number_set_2'> : [> 3> ,> 7> , np.nan,> 23> ,> 31> ,> 41> ,> > np.nan,> 59> ,> 67> , np.nan],> > 'Number_set_3'> : [> 2> ,> 3> ,> 5> , np.nan,> 11> ,> 13> ,> 17> ,> > 19> ,> 23> , np.nan]}> # Create the dataframe> df> => pd.DataFrame(nums)> # Apply the function> df> => df.fillna(> 0> )> # print the DataFrame> df> |
산출:
전체 데이터프레임에 대해 NaN을 대체하는 fillna() 함수
NumPy 교체()를 사용하여 NaN 값을 0으로 바꾸기
그만큼 데이터프레임.교체() Pandas의 함수는 끈 , 정규식 , 목록 , 사전 등을 DataFrame에 포함합니다.
NumPy 교체()를 사용하여 열의 NaN 값을 0으로 바꿉니다.
replacement() 함수를 사용하여 Pandas 데이터 프레임에서 NaN 값을 단일 열의 0으로 바꾸는 구문은 다음과 같습니다.
Syntax: df['DataFrame Column'] = df['DataFrame Column'].replace(np.nan, 0)
파이썬3
# importing libraries> import> pandas as pd> import> numpy as np> nums> => {> 'Car Model Number'> : [> 223> , np.nan,> 237> ,> 195> , np.nan,> > 575> ,> 110> ,> 313> , np.nan,> 190> ,> 143> ,> > np.nan],> > 'Engine Number'> : [> 4511> , np.nan,> 7570> ,> 1565> ,> 1450> ,> 3786> ,> > 2995> ,> 5345> ,> 7777> ,> 2323> ,> 2785> ,> 1120> ]}> # Create the dataframe> df> => pd.DataFrame(nums, columns> => [> 'Car Model Number'> ])> # Apply the function> df[> 'Car Model Number'> ]> => df[> 'Car Model Number'> ].replace(np.nan,> 0> )> # print the DataFrame> df> |
산출:
단일 열의 NaN을 대체하는 replacement()
NumPy 교체()를 사용하여 전체 데이터프레임에 대해 NaN 값을 0으로 바꿉니다.
다음을 사용하여 NaN 값을 전체 Pandas 데이터 프레임의 0으로 바꾸는 구문 교체() 함수 다음과 같다:
Syntax: df.replace(np.nan, 0)
파이썬3
# importing libraries> import> pandas as pd> import> numpy as np> nums> => {> 'Student Name'> : [> 'Shrek'> ,> 'Shivansh'> ,> 'Ishdeep'> ,> > 'Siddharth'> ,> 'Nakul'> ,> 'Prakhar'> ,> > 'Yash'> ,> 'Srikar'> ,> 'Kaustubh'> ,> > 'Aditya'> ,> 'Manav'> ,> 'Dubey'> ],> > 'Roll No.'> : [> 18229> ,> 18232> , np.nan,> 18247> ,> 18136> ,> > np.nan,> 18283> ,> 18310> ,> 18102> ,> 18012> ,> > 18121> ,> 18168> ],> > 'Subject ID'> : [> 204> , np.nan,> 201> ,> 105> , np.nan,> 204> ,> > 101> ,> 101> , np.nan,> 165> ,> 715> , np.nan],> > 'Grade Point'> : [> 9> , np.nan,> 7> , np.nan,> 8> ,> 7> ,> 9> ,> 10> ,> > np.nan,> 9> ,> 6> ,> 8> ]}> # Create the dataframe> df> => pd.DataFrame(nums)> # Apply the function> df> => df.replace(np.nan,> 0> )> # print the DataFrame> df> |
산출:
전체 데이터프레임에 대해 NaN을 대체하는 교체() 함수