How to replace all non-NaN entries of a dataframe with 1 and all NaN with 0

后端 未结 9 1031
轻奢々
轻奢々 2021-02-01 18:07

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

9条回答
  •  情深已故
    2021-02-01 19:05

    I'd advise making a new column rather than just replacing. You can always delete the previous column if necessary but its always helpful to have a source for a column populated via an operation on another.

    e.g. if df['col1'] is the existing column

    df['col2'] = df['col1'].apply(lambda x: 1 if not pd.isnull(x) else np.nan)
    

    where col2 is the new column. Should also work if col2 has string entries.

提交回复
热议问题