I tried to replace NaN
values with zeros using the following script:
rapply( data123, f=function(x) ifelse(is.nan(x),0,x), how="replace" ) # [31] 0.00000000 -0.67994832 0.50287454 0.63979527 1.48410571 -2.90402836
The NaN value was showing to be zero but when I typed in the name of the data frame and tried to review it, the value was still remaining NaN.
data123$contri_us # [31] NaN -0.67994832 0.50287454 0.63979527 1.48410571 -2.90402836
I am not sure whether the rapply
command was actually applying the adjustment in the data frame, or just replaced the value as per shown.
Any idea how to actually change the NaN
value to zero?
Pandas replace nan with 0 inplace In this method, the inplace parameter is set to inplace =True which means that it will fill in the null values and directly modify the original Pandas DataFrame. If you set inplace =True then it fills values at an empty place.
You can use numpy. nan_to_num : numpy. nan_to_num(x) : Replace nan with zero and inf with finite numbers.
It would seem that is.nan
doesn't actually have a method for data frames, unlike is.na
. So, let's fix that!
is.nan.data.frame <- function(x) do.call(cbind, lapply(x, is.nan)) data123[is.nan(data123)] <- 0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With