python - 是否有一个函数可以将 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'。
提前致谢!
解决方案
您可以使用应用:
traindf['hour'] = traindf['unix_timestamp_of_request_utc'].apply(pd.Timestamp.utcfromtimestamp).dt.hour
此外,pd.Timestamp 有自己的 utcfromtimestamp 方法。
推荐阅读
- javascript - 嵌套数组错误为未定义,而这在调试模式下可用
- php - 哪个是使用 PHP (8) 检查用户在 Ussd 程序中选择的选项的更好方法
- hadoop - 启动 hbase 失败
- abp - 如何在 ABP 框架中将多租户与 Blazor 应用程序一起使用
- python-3.x - 什么是刷新令牌以及如何、在哪里使用它?
- mongodb - 聚合 $group 以了解集合中的上一个和下一个文档
- rcpp - 使用 Rcpp 安装 R 包时的警告
- f# - 将有限坐标表示为 F# 类型
- python - 如何生成随机的 16 字符十六进制字符串,然后在 python 中使用破折号 (-) 除以 4?
- javascript - 在 html 中嵌入本地 asciinema 文件