是否有一个函数可以将 unix 时间戳转换为数据帧中的小时变量?

Is there a function that converts unix timestamps into just the hour variables in a dataframe?

我是 python 的新手,所以这看起来很明显,但我正在尝试用特定 [=21= 的小时数替换名为 unix_timestamp 的数据框中的列].例如:[1326429793] 会变成 [4]

我尝试使用 panda 方法 to_datetime,但它无法满足我的要求。 我目前在网上看到的几个例子中使用了 .hour - datetime.utcfromtimestamp(1326429793).小时 但是将它应用于数据框时会输出错误

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

上面的代码returns TypeError: cannot convert the series to class 'int'.

提前致谢!

您可以使用 apply:

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

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