使用 Pandas 从 DateTime 变量中提取特征的方法有哪些?
pandasserver side programmingprogramming更新于 2025/10/12 5:37:17
从 DateTime 对象读取并提取有效信息是数据分析中非常重要的任务。Pandas 包提供了一些实用的工具来从 DateTime 对象中提取特征。
在 Pandas 中,series.dt() 方法用于访问给定时间序列中的年、月、日等组成部分。
series.dt() 方法具有一些属性,可用于提取年、月、季度和日的特征。在下面的示例中,我们将使用其中一些属性来提取特征。
示例 1
您可以看到,我们创建了一个包含 10 个不同时间戳的 Pandas 系列。然后,我们使用 dt.day 属性仅访问时间序列中的年份。
# 导入 pandas 包
import pandas as pd
# 创建 pandas 序列
s = pd.Series(pd.date_range('2021-01-01 2:30', periods=10, freq='30H10min'))
打印(s)
# 访问日期
result = s.dt.day
print("Output:",result)
输出
输出如下所示 −
0 2021-01-01 02:30:00 1 2021-01-02 08:40:00 2 2021-01-03 14:50:00 3 2021-01-04 21:00:00 4 2021-01-06 03:10:00 5 2021-01-07 09:20:00 6 2021-01-08 15:30:00 7 2021-01-09 21:40:00 8 2021-01-11 03:50:00 9 2021-01-12 10:00:00 dtype: datetime64[ns] Output: 0 1 1 2 2 3 3 4 4 6 5 7 6 8 7 9 8 11 9 12 dtype: int64
初始系列的第一个时间戳为 2021-01-01 02:30:00,后续时间戳以 30 小时 10 分钟为增量递增,上述输出块的第二部分显示从 DateTime 对象访问的日期。
示例 2
在上述示例中应用 dt.hour 属性,从 10 个时间戳中获取小时数据。
# 导入 pandas 包
import pandas as pd
# 创建 pandas 系列
s = pd.Series(pd.date_range('2021-01-01 2:30', periods=10, freq='30H10min'))
打印次数
# 访问小时数
result = s.dt.hour
print("Output:",result)
输出
输出如下所示 −
0 2021-01-01 02:30:00 1 2021-01-02 08:40:00 2 2021-01-03 14:50:00 3 2021-01-04 21:00:00 4 2021-01-06 03:10:00 5 2021-01-07 09:20:00 6 2021-01-08 15:30:00 7 2021-01-09 21:40:00 8 2021-01-11 03:50:00 9 2021-01-12 10:00:00 dtype: datetime64[ns] Output: 0 2 1 8 2 14 3 21 4 3 5 9 6 15 7 21 8 3 9 10 dtype: int64
正如我们在上面的输出块中看到的,series.dt 函数已成功使用 hour 属性返回了小时数据。
相关文章
打印
下一节:Pandas 中 series.duplicated() 方法的用途是什么? ❯❮ 上一节:pandas series.drop_duplicates() 方法中的 keep 参数如何工作?

