首页 > 解决方案 > 是否有一个函数可以将 unix 时间戳转换为数据帧中的小时变量?

问题描述

我是 python 新手,所以这似乎很明显,但我试图用特定 unix_timestamp 的小时数替换名为 unix_timestamp 的数据框中的列。例如:[1326429793] 会变成 [4]

我尝试使用 panda 方法 to_datetime 但它没有做我想要的。我目前在网上看到的几个示例中使用 .hour - datetime.utcfromtimestamp(1326429793).hour 但是将其应用于数据帧时会输出错误

from datetime import datetime
import pandas as pd
#
traindf['hour'] = datetime.utcfromtimestamp(traindf['unix_timestamp_of_request_utc']).hour

上面的代码返回 TypeError: cannot convert the series to class 'int'。

提前致谢!

标签: pythonpandasdataframeunix-timestamp

解决方案


您可以使用应用

traindf['hour'] = traindf['unix_timestamp_of_request_utc'].apply(pd.Timestamp.utcfromtimestamp).dt.hour

此外,pd.Timestamp 有自己的 utcfromtimestamp 方法。


推荐阅读