Pandas:如何将纪元转换为日期/时间


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

 df[' date_column '] = pd. to_datetime (df[' date_column '], unit=' s ')

例如,此语法会将纪元时间1655439422转换为 pandas 日期时间2022-06-17 04:17:02

这种格式更容易被识别为日期和时间,而不是一长串数字。

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

示例:将纪元转换为 Pandas 中的日期和时间

假设我们有以下 pandas Dataframe,其中包含有关特定日期和时间某些产品的总销售额的信息:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['1655439422', '1655638422', '1664799422',
                            '1668439411', '1669939422', '1669993948'],
                   ' sales ': [120, 150, 224, 290, 340, 184]})

#view DataFrame
print (df)

         dirty dates
0 1655439422 120
1 1655638422 150
2 1664799422 224
3 1668439411 290
4 1669939422 340
5 1669993948 184

目前,日期列值采用纪元时间格式。

要将纪元时间转换为 pandas 日期时间格式,我们可以使用以下语法:

 #convert values in date column from epoch to datetime
df[' date '] = pd. to_datetime (df[' date '], unit=' s ')

#view updated DataFrame
print (df)

                 dirty date
0 2022-06-17 04:17:02 120
1 2022-06-19 11:33:42 150
2 2022-10-03 12:17:02 224
3 2022-11-14 15:23:31 290
4 2022-12-02 00:03:42 340
5 2022-12-02 15:12:28 184

请注意,日期列中的值现在是可识别的日期和时间。

请注意,大多数时间都存储为自 1970 年 1 月 1 日以来的秒数。

通过在to_datetime()函数中使用unit=’s’参数,我们明确告诉 pandas 通过计算自 1970 年 1 月 1 日以来的秒数将纪元转换为日期时间。

注意:您可以在此处找到 pandas to_datetime()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何在 Pandas 中将时间戳转换为日期/时间
如何将 DateTime 转换为 Pandas 中的日期
如何将 Pandas 中的日期时间转换为字符串

添加评论

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