I have a dataframe with 71 columns and 30597 rows. I want to replace all non-nan entries with 1 and the nan values with 0.
Initially I tried for-loop on each value of th
Generally there are two steps - substitute all not NAN values and then substitute all NAN values.
dataframe.where(~dataframe.notna(), 1)
- this line will replace all not nan values to 1.dataframe.fillna(0)
- this line will replace all NANs to 0Side note: if you take a look at pandas documentation, .where
replaces all values, that are False
- this is important thing. That is why we use inversion to create a mask ~dataframe.notna()
, by which .where()
will replace values