code: def _convert_from_pandas(self, pdf, schema, timezone):
          
          if timezone is not None:
              from pyspark.sql.types import _check_series_convert_timestamps_tz_local
              copied = False
              if isinstance(schema, StructType):
                  for field in schema:
                      # TODO: handle nested timestamps, such as ArrayType(TimestampType())?
                      if isinstance(field.dataType, TimestampType):
                          s = _check_series_convert_timestamps_tz_local(pdf[field.name], timezone)
                          if s is not pdf[field.name]:
                              if not copied:
                                  # Copy once if the series is modified to prevent the original
                                  # Pandas DataFrame from being updated
                                  pdf = pdf.copy()
                                  copied = True
                              pdf[field.name] = s
              else:
                  for column, series in pdf.iteritems():
                      s = _check_series_convert_timestamps_tz_local(series, timezone)
                      if s is not series:
                          if not copied:
                              # Copy once if the series is modified to prevent the original
                              # Pandas DataFrame from being updated
                              pdf = pdf.copy()
                              copied = True
                          pdf[column] = s
  
          # Convert pandas.DataFrame to list of numpy records
          np_records = pdf.to_records(index=False)
  
          # Check if any columns need to be fixed for Spark to infer properly
          if len(np_records) > 0:
              record_dtype = self._get_numpy_record_dtype(np_records[0])
              if record_dtype is not None:
                  return [r.astype(record_dtype).tolist() for r in np_records]
  
          # Convert list of numpy records to python lists
          return [r.tolist() for r in np_records]
docs: Convert a pandas.DataFrame to list of records that can be used to make a DataFrame
           :return list of records