Pandas 如何从DateTime变量中提取特征
在数据分析中,读取和提取DateTime对象的有效信息是一项非常重要的任务。pandas包提供了一些有用的工具来从DateTime对象中提取特征。
在pandas中,可以使用series.dt()方法来访问给定时间序列的年份、月份、日期等组成部分。
series.dt()方法有一些属性,用于提取年份、月份、季度和日期等特征。在下面的示例中,我们将使用其中一些属性来提取特征。
示例1
您可以看到我们创建了一个具有10个不同时间戳的pandas series。然后,我们通过使用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
从上面的输出块中可以看到,通过使用hour属性,series.dt函数成功返回了小时数据。