diff --git a/packages/python/plotly/_plotly_utils/utils.py b/packages/python/plotly/_plotly_utils/utils.py index 9254b7f23d2..d3db9c9663f 100644 --- a/packages/python/plotly/_plotly_utils/utils.py +++ b/packages/python/plotly/_plotly_utils/utils.py @@ -127,6 +127,7 @@ def default(self, obj): self.encode_as_list, # because some values have `tolist` do last. self.encode_as_decimal, self.encode_as_pil, + self.encode_as_NAType, ) for encoding_method in encoding_methods: try: @@ -135,6 +136,14 @@ def default(self, obj): pass return _json.JSONEncoder.default(self, obj) + @staticmethod + def encode_as_NAType(obj): + from pandas._libs.missing import NAType + if isinstance(obj, NAType): + return None + else: + raise NotEncodable + @staticmethod def encode_as_plotly(obj): """Attempt to use a builtin `to_plotly_json` method."""