In case you want to normalize all of the nulls with python's None.

df.fillna(np.nan).replace([np.nan], [None])

The first fillna will replace all of (None, NAT, np.nan, etc) with Numpy's NaN, then replace Numpy's NaN with python's None.

Answer from AsaridBeck91 on Stack Overflow
🌐
Pandas
pandas.pydata.org › docs › reference › api › pandas.DataFrame.fillna.html
pandas.DataFrame.fillna — pandas 3.0.2 documentation
DataFrame.fillna(value, *, axis=None, inplace=False, limit=None)[source]# Fill NA/NaN values with value. Parameters: valuescalar, dict, Series, or DataFrame · Value to use to fill holes (e.g. 0), alternately a dict/Series/DataFrame of values specifying which value to use for each index (for a Series) or column (for a DataFrame).
Discussions

BUG: fillna() doesn't work with `value=None` without method specified, but method is deprecated
Do we want to allow None as the possible value in fillna()? This could be a docs issue or a code issue. ... commit : fd3f571 python : 3.10.13.final.0 python-bits : 64 OS : Linux OS-release : 4.4.0-19041-Microsoft Version : #3996-Microsoft Thu Jan 18 16:36:00 PST 2024 machine : x86_64 processor : x86_64 byteorder : little LC_ALL : None LANG : C.UTF-8 LOCALE : en_US.UTF-8 · pandas ... More on github.com
🌐 github.com
6
March 4, 2024
Can't fillna with None in a dataframe
I was looking to replace all np.nan values in a dataframe with None, I was trying to do this using fillna, but it seems like this is not supported (through fillna, though you can use where): In [1]: import pandas as pd i In [2]: import n... More on github.com
🌐 github.com
2
August 20, 2015
Issue replacing 'None' with df.fillna()
It's possible that it's actually holding the string "None" rather than the Python value of None. Try: df.replace("None","",inplace=True) More on reddit.com
🌐 r/learnpython
4
2
July 10, 2022
How to fillna with None in a pandas dataframe?
Unlike a list, a dataframe has to have all elements be the same type. You can't insert None into a dataframe of floats, because None is not a float. However, nan is a float. More on reddit.com
🌐 r/learnpython
11
1
May 2, 2018
🌐
Reddit
reddit.com › r/learnpython › how to fillna with none in a pandas dataframe?
r/learnpython on Reddit: How to fillna with None in a pandas dataframe?
May 2, 2018 -

Pretty straightforward, I have a dataframe that has columns with different mixtures of np.nan and None as the "null" value for that column. I want to get them all to be "None", but

df.fillna(None)
df.replace(np.nan, None)
df.fillna(values=None)

all don't work. Anyone run into this issue before?

Also why the bloody fucking hell does

np.nan==np.nan

evaluate to false? (Yes I know its by definition, but some bloke thought it was a good idea to write the definition that way.) Is that actually useful for anything? In this particular case, it makes me want to use None instead.

🌐
GeeksforGeeks
geeksforgeeks.org › python › python-pandas-dataframe-fillna-to-replace-null-values-in-dataframe
Pandas DataFrame.fillna() | Python - GeeksforGeeks
February 23, 2026 - This example replaces missing values in the College column with a fixed text "No College" using fillna(). This is useful when you want to assign a default value to missing entries. ... import pandas as pd nba = pd.read_csv("nba.csv") nba["College"].fillna("No College", inplace = True) print(nba)
🌐
GitHub
github.com › pandas-dev › pandas › issues › 57723
BUG: fillna() doesn't work with `value=None` without method specified, but method is deprecated · Issue #57723 · pandas-dev/pandas
March 4, 2024 - The method parameter is deprecated in version 2.1. But the docs for Series.fillna() indicate that a value of None is valid.
Author   Dr-Irv
🌐
Spark By {Examples}
sparkbyexamples.com › home › pandas › pandas.dataframe.fillna() – explained by examples
pandas.DataFrame.fillna() - Explained by Examples - Spark By {Examples}
June 26, 2025 - pandas.DataFrame.fillna() method is used to fill column (one or multiple columns) containing NA/NaN/None with 0, empty, blank, or any specified values etc. NaN is considered a missing value.
🌐
GeeksforGeeks
geeksforgeeks.org › python-pandas-dataframe-fillna-to-replace-null-values-in-dataframe
Python | Pandas DataFrame.fillna() to replace Null values in dataframe - GeeksforGeeks
August 21, 2024 - Just like the pandas dropna() method manages and remove Null values from a data frame, fillna() manages and let the user replace NaN values with some value of their own. Syntax: DataFrame.fillna(value=None, method=None, axis=None, inplace=False, ...
Find elsewhere
🌐
Pandas
pandas.pydata.org › docs › dev › reference › api › pandas.DataFrame.fillna.html
pandas.DataFrame.fillna — pandas 3.0.0rc2+8.g2b571cac91 documentation
DataFrame.fillna(value, *, axis=None, inplace=False, limit=None)[source]# Fill NA/NaN values with value. Parameters: valuescalar, dict, Series, or DataFrame · Value to use to fill holes (e.g. 0), alternately a dict/Series/DataFrame of values specifying which value to use for each index (for a Series) or column (for a DataFrame).
🌐
Pandas
pandas.pydata.org › docs › user_guide › missing_data.html
Working with missing data — pandas documentation - PyData |
In [89]: data = {"np": [1.0, np.nan, np.nan, 2], "arrow": pd.array([1.0, pd.NA, pd.NA, 2], dtype="float64[pyarrow]")} In [90]: df = pd.DataFrame(data) In [91]: df Out[91]: np arrow 0 1.0 1.0 1 NaN <NA> 2 NaN <NA> 3 2.0 2.0 In [92]: df.fillna(0) Out[92]: np arrow 0 1.0 1.0 1 0.0 0.0 2 0.0 0.0 3 2.0 2.0 · When the data has object dtype, you can control what type of NA values are present. In [93]: df = pd.DataFrame({"a": [pd.NA, np.nan, None]}, dtype=object) In [94]: df Out[94]: a 0 <NA> 1 NaN 2 None In [95]: df.fillna(None) Out[95]: a 0 None 1 None 2 None In [96]: df.fillna(np.nan) Out[96]: a 0 NaN 1 NaN 2 NaN In [97]: df.fillna(pd.NA) Out[97]: a 0 <NA> 1 <NA> 2 <NA> However when the dtype is not object, these will all be replaced with the proper NA value for the dtype.
🌐
Saturn Cloud
saturncloud.io › blog › how-to-replace-none-with-nan-in-pandas-dataframe
How to Replace None with NaN in Pandas DataFrame | Saturn Cloud Blog
January 16, 2024 - The simplest way to replace None with NaN in a Pandas DataFrame is to use the fillna() method. The fillna() method replaces missing values with a specified value.
🌐
W3Schools
w3schools.com › python › pandas › ref_df_fillna.asp
Pandas DataFrame fillna() Method
dataframe.fillna(value, method, axis, inplace, limit, downcast) The axis, method, inplace, limit, downcast parameters are keyword arguments. A DataFrame with the result, or None if the inplace parameter is set to True.
🌐
Statology
statology.org › home › pandas: how to replace nan with none
Pandas: How to Replace NaN with None
December 1, 2022 - This tutorial explains how to replace NaN values with a None value in a pandas DataFrame, including an example.
🌐
Pandas
pandas.pydata.org › pandas-docs › version › 1.0.1 › reference › api › pandas.DataFrame.fillna.html
pandas.DataFrame.fillna — pandas 1.0.1 documentation
DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None) → Union[ForwardRef('DataFrame'), NoneType][source]¶
🌐
pandas
pandas.pydata.org › pandas-docs › dev › reference › api › pandas.DataFrame.fillna.html
pandas.DataFrame.fillna — pandas 3.0.0rc1+79.g6ad2bb0510 documentation
DataFrame.fillna(value, *, axis=None, inplace=False, limit=None)[source]# Fill NA/NaN values with value. Parameters: valuescalar, dict, Series, or DataFrame · Value to use to fill holes (e.g. 0), alternately a dict/Series/DataFrame of values specifying which value to use for each index (for a Series) or column (for a DataFrame).
🌐
Pandas
pandas.pydata.org › pandas-docs › version › 0.17.0 › generated › pandas.Series.fillna.html
pandas.Series.fillna — pandas 0.17.0 documentation
Series.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)¶ · Fill NA/NaN values using the specified method · See also · reindex, asfreq · index · modules | next | previous | pandas 0.17.0 documentation » · API Reference » ·
🌐
GitHub
github.com › pandas-dev › pandas › issues › 10871
Can't fillna with None in a dataframe · Issue #10871 · pandas-dev/pandas
August 20, 2015 - I was looking to replace all np.nan values in a dataframe with None, I was trying to do this using fillna, but it seems like this is not supported (through fillna, though you can use where): In [1]: import pandas as pd i In [2]: import numpy as np In [3]: df = pd.DataFrame([[np.nan, 1], [1, np.nan]]) In [4]: df.fillna(value=None) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-4-f459dbd09698> in <module>() ----> 1 df.fillna(value=None) /Users/yoshikivazquezbaeza/.virtualenvs/ipy/lib/python2.7/site-packages/
Author   ElDeveloper
🌐
Reddit
reddit.com › r/learnpython › issue replacing 'none' with df.fillna()
r/learnpython on Reddit: Issue replacing 'None' with df.fillna()
July 10, 2022 -

Hey All,

I am using the below code to export Jira issues. Not all of my issues have all the custom fields I am trying to export so they end up being 'None'. I would like to replace the 'None' with an empty string. I am trying to use pandas df.fillna but it's not doing what I thought it would. In spite of using fillna, my output is unchanged and still contains 'None' values.

What am I doing wrong?

Thanks!

Code:

# Search all issues, and time execution
jira_issues = jira.search_issues(jql,maxResults=50)

# Converge JSON to Pandas DataFrame
for issue in jira_issues:
    try:
        issue_fields = pd.DataFrame({
            'id':                       [issue.id],
            'Due date':                 str(issue.fields.duedate),
            'Actual Start Date':          str(issue.fields.customfield_10055),
            'Actual Completion Date':     str(issue.fields.customfield_10057)
        })
    except AttributeError:
        pass
    issues = pd.concat([issues,issue_fields])

issues.fillna("",inplace=True)
print(issues)

Output:

0  79906        None              None                   None
0  79904  2022-07-07        2022-05-18             2022-05-25
0  79903  2022-04-13        2022-04-22             2022-04-22
0  79902  2022-06-15        2022-06-04             2022-06-04
0  79901        None              None                   None
0  79900        None        2022-06-14                   None
0  79899  2022-05-06        2022-05-02             2022-05-06
0  79897        None              None                   None
0  79896        None              None                   None

Checking column types using dtypes:

id                        object
Due date                  object
Actual Start Date         object
Actual Completion Date    object
dtype: object
🌐
w3resource
w3resource.com › pandas › series › series-fillna.php
Pandas Series: fillna() function - w3resource
Last update on September 15 2022 12:55:26 (UTC/GMT +8 hours) The fillna() function is used to fill NA/NaN values using the specified method. Syntax: Series.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, ...