python - 如何从 pandas.datetime 中提取小时数?
问题描述
我有一个应用了 pandas.to_datetime 的 pandas 数据框。现在我想从每个时间戳中提取小时/分钟/秒。我使用 df.index.day 来获取日期,现在,我想知道我的索引中是否有不同的时间。例如,如果我有两个日期 d1 = 2020-01-01 00:00:00 和 d2 = 2020-01-02 00:00:00 我不能假设我应该按小时应用平滑运算符,因为没有意义.
所以我想知道的是:我怎么知道一天是否有不同的小时/分钟或秒?
先感谢您
解决方案
我认为您应该使用熊猫提供的 df[index].dt 。您可以使用它提取日、周、小时、分钟、秒。
请看这个。
dir(df[index].dt)
这是一个例子。
import pandas as pd
df = pd.DataFrame([["2020-01-01 06:31:00"], ["2020-03-12 10:21:09"]])
print(df)
df['time'] = pd.to_datetime(df["timestamp"])
df['dates'] = df['time'].dt.date
df['hour'] = df['time'].dt.hour
df['minute'] = df['time'].dt.minute
df['second'] = df['time'].dt.second
现在你的 df 应该是这样的。
0 time dates hour minute second
0 2020-01-01 06:31:00 2020-01-01 06:31:00 2020-01-01 6 31 0
1 2020-03-12 10:21:09 2020-03-12 10:21:09 2020-03-12 10 21 9
推荐阅读
- swiftui - ContextMenu 中的 NavigationLink 不再在 iOS14 xcode12 beta3 中工作?
- elasticsearch - 查询搜索字符串完全包含索引字符串的位置
- java - 状态设计模式:使用 entry() 和 exit() 时如何避免代码重复?
- amazon-dynamodb - DynamoDB 表种子适用于 cli 但不适用于 AWS-SDK
- python - 在 Python 中合并两个大列表中的数据
- php - 如何创建自定义订单以显示帖子和分类法
- google-cloud-platform - 使用 Keycloak 的 Google Cloud SSO SAMLClient 配置
- dart - Dart Bech32 和 Hex 编码和解码
- reactjs - Redux 函数调用,导致无限循环
- android - 如何从上下文中使用 onRequestPermissionsResult(尝试在 nonActivity 类中执行此操作)