search
Search
Publish
Guest 0reps
Thanks for the thanks!
close
account_circle
Profile
exit_to_app
Sign out
search
keyboard_voice
close
Searching Tips
Search for a recipe: "Creating a table in MySQL"
Search for an API documentation: "@append"
Search for code: "!dataframe"
Apply a tag filter: "#python"
Useful Shortcuts
/ to open search panel
Esc to close search panel
to navigate between search results
d to clear all current filters
Enter to expand content preview
Doc Search
Code Search Beta
SORRY NOTHING FOUND!
mic
Start speaking...
Voice search is only supported in Safari and Chrome.
Shrink
Navigate to
A
A
share
thumb_up_alt
bookmark
arrow_backShare

# Mapping NaN values to 0 and non-NaN values to 1 in Pandas DataFrame

Programming
chevron_right
Python
chevron_right
Pandas
chevron_right
Cookbooks
chevron_right
DataFrame Cookbooks
chevron_right
Handling Missing Values
schedule Mar 10, 2022
Last updated
local_offer PythonPandas
Tags
expand_more

# Solution

To map `NaN` values to `0` and non-`NaN` values to `1` in Pandas DataFrame, use the following:

``` df.notnull().astype("int") ```

# Example

Consider the following DataFrame:

``` df = pd.DataFrame({"A":[3,None],"B":[5,6]})df A B0 3.0 51 NaN 6 ```

To map `NaN` values to `0` and non-`NaN` values to `1`:

``` df.notnull().astype("int") A B0 1 11 0 1 ```

## Explanation

We first map the `NaN` values to `False` and non-`NaN` values to `True` using the `notnull()` method:

``` df.notnull() A B0 True True1 False True ```

We then map `False` to `0` and `True` to `1` using the `astype()` method:

``` df.notnull().astype("int") A B0 1 11 0 1 ```

# Supplement - mapping certain columns

The solution presented performs the mapping for all columns, that is, every value in the DataFrame. To map certain columns only:

``` df = pd.DataFrame({"A":[3,None],"B":[5,6]})df["A"] = df["A"].notnull().astype("int")df A B0 1 51 0 6 ```

Notice how only column `A`'s values were mapped, while column `B` was left intact.

Edited by 0 others
thumb_up
thumb_down
Ask a question or leave a feedback...
thumb_up
0
thumb_down
0
chat_bubble_outline
0
settings
A modern learning experience for data science and analytics