如何使用pandas从DateTime变量中提取特征?
从DateTime对象中读取和提取有效信息是数据分析中一项非常重要的任务。pandas包提供了一些有用的工具来执行从DateTime对象中提取特征的操作。
在pandas中,series.dt()方法用于访问给定时间序列的年份、月份、日期等组件。
series.dt()方法有一些属性可以提取年份、月份、季度和日期特征。在下面的示例中,我们将使用其中一些属性来提取特征。
示例1
您可以看到我们创建了一个包含10个不同时间戳的pandas序列。然后,我们使用dt.day属性仅访问时间序列中的年份。
# importing pandas package import pandas as pd #creating the pandas Series s = pd.Series(pd.date_range('2021-01-01 2:30', periods=10, freq='30H10min')) print(s) # access day 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个时间戳的小时数据。
# importing pandas package import pandas as pd #creating the pandas Series s = pd.Series(pd.date_range('2021-01-01 2:30', periods=10, freq='30H10min')) print(s) # access hour 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属性返回了小时数据。
广告