import pandas as pd
# 构造时间数据
date_time_str_list = [
'2019-01-01 01:22:26', '2019-02-02 04:34:52', '2019-03-03 06:16:40',
'2019-04-04 08:11:38', '2019-05-05 10:52:39', '2019-06-06 12:06:25',
'2019-07-07 14:05:25', '2019-08-08 16:51:33', '2019-09-09 18:28:28',
'2019-10-10 20:55:12', '2019-11-11 22:55:12', '2019-12-12 00:55:12',
]
df = pd.DataFrame({'时间': date_time_str_list})
# 把字符串格式的时间转换成Timestamp格式
df['时间'] = df['时间'].apply(lambda x: pd.Timestamp(x))
# 年份
df['年']=df['时间'].apply(lambda x: x.year)
# 月份
df['月']=df['时间'].apply(lambda x: x.month)
# 日
df['日']=df['时间'].apply(lambda x: x.day)
# 小时
df['时']=df['时间'].apply(lambda x: x.hour)
# 分钟
df['分']=df['时间'].apply(lambda x: x.minute)
# 秒数
df['秒']=df['时间'].apply(lambda x: x.second)
# 一天中的第几分钟
df['一天中的第几分钟']=df['时间'].apply(lambda x: x.minute + x.hour*60)
# 星期几;
df['星期几']=df['时间'].apply(lambda x: x.dayofweek)
# 一年中的第几天
df['一年中的第几天']=df['时间'].apply(lambda x: x.dayofyear)
# 一年中的第几周
df['一年中的第几周']=df['时间'].apply(lambda x: x.week)
# 一天中哪个时间段:凌晨、早晨、上午、中午、下午、傍晚、晚上、深夜;
period_dict ={
23: '深夜', 0: '深夜', 1: '深夜',
2: '凌晨', 3: '凌晨', 4: '凌晨',
5: '早晨', 6: '早晨', 7: '早晨',
8: '上午', 9: '上午', 10: '上午', 11: '上午',
12: '中午', 13: '中午',
14: '下午', 15: '下午', 16: '下午', 17: '下午',
18: '傍晚',
19: '晚上', 20: '晚上', 21: '晚上', 22: '晚上',
}
df['时间段']=df['时'].map(period_dict)
# 一年中的哪个季度
season_dict = {
1: '春季', 2: '春季', 3: '春季',
4: '夏季', 5: '夏季', 6: '夏季',
7: '秋季', 8: '秋季', 9: '秋季',
10: '冬季', 11: '冬季', 12: '冬季',
}
df['季节']=df['月'].map(season_dict)```
时间特征构造以及时间序列特征构造
最新推荐文章于 2024-11-05 15:32:33 发布