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 中的日期时间转换为字符串