diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 8040fde0415051..d431ca154182ad 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -3449,7 +3449,8 @@ def fillna(self, value=None, method=None, axis=None, inplace=False, # if a singular fill value is provided, validate it if value is not None: # fill values by column, not all at once, to respect dtypes - if not isinstance(value, dict) and isinstance(self, ABCDataFrame): + if not isinstance(value, (dict, ABCSeries)) and \ + isinstance(self, ABCDataFrame): value = {col: value for col in self.columns} try: missing.validate_fill_value(self, value) @@ -3544,7 +3545,7 @@ def fillna(self, value=None, method=None, axis=None, inplace=False, obj = result[k] obj.fillna(v, limit=limit, inplace=True, downcast=downcast, errors=errors) - return result + return None if inplace else result elif not is_list_like(value): new_data = self._data.fillna(value=value, limit=limit, inplace=inplace,