# pandas.Series.dt.to_pydatetime

`Series.dt.``to_pydatetime`()

  Return the data as an array of native Python datetime objects.

  Timezone information is retained if present.

  Warning

  Python’s datetime uses microsecond resolution, which is lower than pandas (nanosecond). The values are truncated.

  Returns:

  numpy.ndarray

  > Object dtype array containing native Python datetime objects.

  See also

  `datetime.datetime`
    Standard library value for a datetime.

  Examples

      >>> s = pd.Series(pd.date_range('20180310', periods=2))
      >>> s
      0   2018-03-10
      1   2018-03-11
      dtype: datetime64[ns]

      >>> s.dt.to_pydatetime()
      array([datetime.datetime(2018, 3, 10, 0, 0),
             datetime.datetime(2018, 3, 11, 0, 0)], dtype=object)

  pandas’ nanosecond precision is truncated to microseconds.

      >>> s = pd.Series(pd.date_range('20180310', periods=2, freq='ns'))
      >>> s
      0   2018-03-10 00:00:00.000000000
      1   2018-03-10 00:00:00.000000001
      dtype: datetime64[ns]

      >>> s.dt.to_pydatetime()
      array([datetime.datetime(2018, 3, 10, 0, 0),
             datetime.datetime(2018, 3, 10, 0, 0)], dtype=object)

Scroll To Top