From 367af52ecc424d598dd0d1c1886800755f10dd4e Mon Sep 17 00:00:00 2001 From: Mikhail Astafev Date: Thu, 5 Aug 2021 17:32:47 +0200 Subject: [PATCH] Add encode_as_NAType to encode pandas NAType to json --- packages/python/plotly/_plotly_utils/utils.py | 9 +++++++++ 1 file changed, 9 insertions(+) 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."""