diff --git a/python/pyspark/sql/dataframe.py b/python/pyspark/sql/dataframe.py index 0c0ead9c5df7f..e03a4c86a2ab2 100644 --- a/python/pyspark/sql/dataframe.py +++ b/python/pyspark/sql/dataframe.py @@ -1725,11 +1725,14 @@ def toPandas(self): dtype = {} for field in self.schema: pandas_type = _to_corrected_pandas_type(field.dataType) - if (pandas_type): + if pandas_type is not None: dtype[field.name] = pandas_type - df = pd.DataFrame.from_records(self.collect(), columns=self.columns) - return df.astype(dtype, copy=False) + pdf = pd.DataFrame.from_records(self.collect(), columns=self.columns) + + for f, t in dtype.items(): + pdf[f] = pdf[f].astype(t, copy=False) + return pdf ########################################################################################## # Pandas compatibility