Categorical.fillna doesn't accept tuples · Issue #19788 · pandas-dev/pandas (original) (raw)

This should maybe work.

In [1]: import pandas as pd

In [2]: pd.Categorical([(1, 2), None]).fillna((1, 2))

TypeError Traceback (most recent call last) in () ----> 1 pd.Categorical([(1, 2), None]).fillna((1, 2))

~/sandbox/pandas-ip/pandas/pandas/util/_decorators.py in wrapper(*args, **kwargs) 136 else: 137 kwargs[new_arg_name] = new_arg_value --> 138 return func(*args, **kwargs) 139 return wrapper 140 return _deprecate_kwarg

~/sandbox/pandas-ip/pandas/pandas/core/arrays/categorical.py in fillna(self, value, method, limit) 1664 raise TypeError('"value" parameter must be a scalar, dict ' 1665 'or Series, but you passed a ' -> 1666 '"{0}"'.format(type(value).name)) 1667 1668 return self._constructor(values, categories=self.categories,

TypeError: "value" parameter must be a scalar, dict or Series, but you passed a "tuple"

xref #19684

This could be a can of worms if we want to accept Series(categorical).fillna(tuple), since it's not allowed there. Would accept incremental improvements here of course.