如何在 pandas 中将时间戳转换为日期/时间


您可以使用以下基本语法将 pandas DataFrame 中的时间戳转换为日期时间:

 timestamp. to_pydatetime ()

以下示例展示了如何在实践中使用此功能。

示例 1:将单个时间戳转换为日期/时间

以下代码显示如何将单个时间戳转换为日期时间:

 #define timestamp
stamp = pd. Timestamp (' 2021-01-01 00:00:00 ')

#convert timestamp to datetime
stamp. to_pydatetime ()

datetime.datetime(2021, 1, 1, 0, 0)

示例 2:将时间戳数组转换为日期时间

以下代码显示如何将时间戳数组转换为日期时间:

 #define array of timestamps
stamps = pd. date_range (start=' 2020-01-01 12:00:00 ', periods= 6 , freq=' H ')

#view array of timestamps
stamps

DatetimeIndex(['2020-01-01 12:00:00', '2020-01-01 13:00:00',
               '2020-01-01 14:00:00', '2020-01-01 15:00:00',
               '2020-01-01 16:00:00', '2020-01-01 17:00:00'],
              dtype='datetime64[ns]', freq='H')

#convert timestamps to datetimes
stamps. to_pydatetime ()

array([datetime.datetime(2020, 1, 1, 12, 0),
       datetime.datetime(2020, 1, 1, 13, 0),
       datetime.datetime(2020, 1, 1, 14, 0),
       datetime.datetime(2020, 1, 1, 15, 0),
       datetime.datetime(2020, 1, 1, 16, 0),
       datetime.datetime(2020, 1, 1, 17, 0)], dtype=object)

示例 3:将 Pandas 的时间戳列转换为日期时间

以下代码显示如何将 pandas 时间戳列转换为日期时间:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' stamps ': pd. date_range (start=' 2020-01-01 12:00:00 ',
                             periods= 6 ,
                             freq=' H '),
                   ' sales ': [11, 14, 25, 31, 34, 35]})

#convert column of timestamps to datetimes
df. stamps = df. stamps . apply (lambda x: x.date ())

#view DataFrame
df

	dirty stamps
0 2020-01-01 11
1 2020-01-01 14
2 2020-01-01 25
3 2020-01-01 31
4 2020-01-01 34
5 2020-01-01 35

其他资源

如何将 DateTime 转换为 Pandas 中的日期
如何将 Pandas 中的列转换为日期时间
如何按日期对 Pandas DataFrame 进行排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注