文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python学习——时间序列

2023-09-29 09:38

关注

目录


时间序列:索引为时间
时间序列是经济学的一种统计方法,它是采用时间排序的一组随机变量。
用途:
1、生成固定跨度的时期构成时间序列
2、转化时间序列格式
3、计算序列中的相对时间
import timetime.time() #绝对值时间,当前时间,1970年到现在的秒数,10位数pd.Timestamp(time.time(),unit = 's')  #转换为标准时间,0时区的时刻

1 生成时间

1.1 pd.Timestamp

只能单个转换为时间戳

#Timestamp 只能单个转换时间戳pd.Timestamp(time.time(),unit = 's')pd.Timestamp(year = 2022,month = 2,day = 5,hour = 13,minute = 14,second = 25) #关键字参数pd.Timestamp(2022,2,5,13,14,25)  #位置参数pd.Timestamp('2022-2-3')  #时分秒不写默认为0

在这里插入图片描述

1.2 pd.to_datetime 最常用

既可以单个转换也可以多个时间转换

1.2.1 单个转换

pd.to_datetime('2022/2/3 13:14:24')  #单个转换

在这里插入图片描述

1.2.2 多个时间转换

pd.to_datetime(['2022/2/3 13:14:24','2022/3/3 13:14:24'])  #多个时间转换

在这里插入图片描述

1.2.3 日期在前 dayfirst

pd.to_datetime('12-11-2017', dayfirst = True)# 日在前

在这里插入图片描述

1.2.4 处理特殊格式 format

pd.to_datetime('2034',format = '%y%m%d')pd.to_datetime('220304',format = '%y%m%d')pd.to_datetime('2022.03.4',format = '%Y.%m.%d')

在这里插入图片描述
format中填写的类型

类型描述
%Y四位的年份
%y两位的年份
%m两位的月份
%d两位的日期号
%H小时,24小时制00-23
%l小时,12小时制01-12
%M两位的分钟 00-59
%S秒00-61,其中60,61是闰秒
%w星期日期0-6,其中0表示星期日
%U一年中的星期数00-53。以星期天为每周第一天,一年中第一个星期天前的日期作为第“0”周
%W一年中的星期数00-53。以星期一为每周第一天,一年中第一个星期一前的日期作为第“0”周
%z格式为+HHMM或者-HHMM 的UTC时区偏移;若没有时区则为空
%F%Y-%m-%d 的简写
%D%m%d%y 的简写日

1.2.5 处理无效时间 errors

pd.to_datetime(['2017-01-01','2017-10-32'], errors = 'ignore')# error忽略(将错就错:生成的日期为错误的日期)pd.to_datetime(['2017-01-01','2017-10-32'], errors = 'coerce')# error强迫(让错误内容显示为'NaT')

在这里插入图片描述

1.2.6 和timestamp互转

today_now = time.time()# timestamp 转为 标准时间t = pd.to_datetime([today_now], unit = 's')t.view()# 标准时间 转为 timestampt.view('int64')

在这里插入图片描述

1.3 固定跨度时间的生成 pd.date_range

固定跨度时间的生成

pd.date_range('2020-3-5',freq='T',periods = 5) #periods:持续时间;freq:频率#freq: Y年;M月;D天;H小时; T分钟;S秒

在这里插入图片描述

2 时间格式转换 .dt.strftime()

将标准时间转化为指定字符串形式,步骤有二:

  1. 不规则的字符串日期 ————pd.to_datetime()————日期类型的数据
  2. 已经有了datetime类型的日期字段———— .dt.strftime()————字符串日期
.dt.strftime('%y/%m/%d')

在这里插入图片描述

3 提取时间元素 .dt.year

.dt.year #提取年份,int类型.dt.month #提取月份,int类型.dt.minute #提取分钟,int类型.dt.date #提取日期,object类型.dt.time #提取时间,object类型

在这里插入图片描述
在这里插入图片描述

4 日期索引序列 data.set_index(‘日期’,inplace = True)

data = pd.DataFrame({'日期':pd.date_range('2020-3-5',freq='M',periods = 5) ,             '订单量':[23,45,76,23,67],'金额':[23.434,2343.54,23.23,45.21,4356.54]})#将日期设置为索引data.set_index('日期',inplace = True)data

在这里插入图片描述

4.1 提取时间元素 data.index.day

时间列变为索引之后,提取元素时,不用加“.dt”

#提取日data.index.day#是否为每月的第一天data.index.is_month_start 

在这里插入图片描述

4.2 切片与索引

4.2.1 常规

data.loc['2020-04-30']#选单个data.loc['2020-04-30':'2020-07-31'] #选多个

在这里插入图片描述
常规操作选取符合条件的的行
在这里插入图片描述

4.2.2 高级 data.loc[‘’]

# 高级操作选出2020-04data.loc['2020-04']

在这里插入图片描述

5 时间偏移: DateOffset对象

d - pd.DateOffset(years = 1)  #减1年d + pd.DateOffset(years = 1,months = 5)  #加1年5个月d + pd.DateOffset(years = 1,days = 10)  #加1年10天

在这里插入图片描述

#东8区时间(0时区时间+8小时)pd.Timestamp(time.time(),unit = 's') + pd.DateOffset(hours = 8)

在这里插入图片描述

6 重采样:resample

重采样就是特殊的groupby

data = pd.DataFrame({'日期':pd.date_range('2020-3-5',freq='M',periods = 15) ,             '订单量':np.random.randint(50,100,15),'金额':np.random.randint(50,100,15)*100})data

在这里插入图片描述

6.1 常规方法 按照年份对金额求和

#常规方法按照年份对金额求总计data['年份'] = data.日期.dt.yeardata.groupby('年份')['金额'].sum()

在这里插入图片描述

6.2 resample

data.resample('M')['金额'].sum() #这里面的月份包括前面的年data.resample('6M')['金额'].sum() #6个月求一次和

在这里插入图片描述

在这里插入图片描述

来源地址:https://blog.csdn.net/one_bird_/article/details/130233954

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯