From 9626959e1a3c42b671f83069f9a4a43d6785f462 Mon Sep 17 00:00:00 2001 From: Daniel Vaz Gaspar Date: Wed, 15 May 2024 15:30:23 +0100 Subject: [PATCH] fix: improve df to records performance (#28512) (cherry picked from commit 11164e2450bf5b61b604475f8f94be3a32ff684f) --- superset/dataframe.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/superset/dataframe.py b/superset/dataframe.py index 80839932944d5..a993bf8c4dbc7 100644 --- a/superset/dataframe.py +++ b/superset/dataframe.py @@ -48,8 +48,10 @@ def df_to_records(dframe: pd.DataFrame) -> list[dict[str, Any]]: logger.warning( "DataFrame columns are not unique, some columns will be omitted." ) - columns = dframe.columns - return list( - dict(zip(columns, map(_convert_big_integers, row))) - for row in zip(*[dframe[col] for col in columns]) - ) + records = dframe.to_dict(orient="records") + + for record in records: + for key in record: + record[key] = _convert_big_integers(record[key]) + + return records