python学习——时间序列

news2024/9/30 1:37:25

目录

  • 1 生成时间
    • 1.1 pd.Timestamp
    • 1.2 pd.to_datetime 最常用
      • 1.2.1 单个转换为时间戳
      • 1.2.2 多个时间转换为时间戳
      • 1.2.3 日期在前 dayfirst
      • 1.2.4 处理特殊格式 format
      • 1.2.5 处理无效时间 errors
      • 1.2.6 和timestamp互转
    • 1.3 固定跨度时间的生成 pd.date_range
  • 2 时间格式转换 .dt.strftime()
  • 3 提取时间元素 .dt.year
  • 4 日期索引序列 data.set_index('日期',inplace = True)
    • 4.1 提取时间元素 data.index.day
    • 4.2 切片与索引
      • 4.2.1 常规
      • 4.2.2 高级 data.loc['']
  • 5 时间偏移: DateOffset对象
  • 6 重采样:resample
    • 6.1 常规方法 按照年份对金额求和
    • 6.2 resample

时间序列:索引为时间
时间序列是经济学的一种统计方法,它是采用时间排序的一组随机变量。
用途:
1、生成固定跨度的时期构成时间序列
2、转化时间序列格式
3、计算序列中的相对时间

import time
time.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()
# 标准时间 转为 timestamp
t.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-04
data.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.year
data.groupby('年份')['金额'].sum()

在这里插入图片描述

6.2 resample

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

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI工具在不同领域的应用范围分享,让我们一起了解

随着人工智能技术的不断发展,越来越多的领域开始应用AI工具来解决问题、提高效率和创造力。无论是在医疗、金融、教育还是其他行业,AI工具都展现出了巨大的潜力和价值。今天,我将分享一些常见的AI工具在不同领域的应用范围,让我们…

Consul:什么是Consul? ①

一、思想 微服务、分布式应用的特点就是拆分,拆分带来的问题就是服务器数量成倍增多,两个很重要的原因,需要抽离出来一个项目专门管理这些服务信息。 1、对信息的管理思想,统一化、中心化一直是一套比较常规成熟的标准。 2、并且它…

开源工具系列8:Spring Security

Spring Security 是一套认证授权框架, 支持认证模式如 HTTP BASIC 认证头 (基于 IETF RFC-based 标准), HTTP Digest 认证头 ( IETF RFC-based 标准), Form-based authentication (用于简单的用户界面), OpenID 认证等, Spring Security使得当前系统可以快速集成这些验证机制亦…

Matplotlib---等高线图

1. 等高线图 等高线图:也称水平图,是一种在二维平面上显示 3D 图像的方法。 x np.linspace(-5, 5, 100) y np.linspace(-5, 5, 100)# 将上述数据变成网格数据形式 X, Y np.meshgrid(x, y)# 定义Z与X, Y之间的关系 Z np.sqrt(X**2 Y**2)# 画等高线…

Win11 系统Java17的安装教程:最新版JDK 17.07下载、安装、卸载详解

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

如何利用AI高效率快速调色

在设计行业中,时间是非常宝贵的资源,而设计师们常常需要应对繁忙的工作日程和紧迫的截止日期。为了提高工作效率和节省时间,越来越多的设计师开始利用人工智能(AI)技术中的高效调色功能。本文将介绍如何利用AI高效率快…

震惊!国产AI模特已经可以做到这个程度了,未来可期

自从GhatGPT火了之后 AI就成为网络热词 并且渗透到各行各业中 你敢相信下面这些图模特图 竟然都是AI生成的! 简直不要太逼真 这次AI真的可以取代一部分模特了 假人模特 神采PromeAI生成 神采PromeAI生成 从生成效果来看 AI模特已非常接近真人 对于电商企业或…

springboot开发PC端桌面应用

一、需求描述: 1、要求桌面能在window、Linux和macos系统上运行 2、用户自定义数据筛选策略,策略可通过excel导入导出 3、选择多个excel文件通过策略过滤生成新的excel 二、技术选型及集成环境配置: 1、PC端跨平台直接选用javafx来作为桌…

go实现的简单压测工具

1、参数概览 依赖github.com/ddliu/go-httpclient进行http接口请求 依赖github.com/antlabs/pcurl解析curl 输入参数: -c,concurrency,并发数,启动协程数-n, totalNumber,单个协程发送的请求个数-u&…

Zookeeper源码解析(上)

序: Zookeeper最早起源于雅虎研究院的一个研究小组, 在当时, 研究人员发现,在雅虎内部有很大大型的系统都是需要一个依赖一个类似的系统来进行分布式协调,但是在系统往往都存在分布式单点问题,所以雅虎的开…

佩戴舒适度极好的蓝牙耳机推荐,五款佩戴舒适的蓝牙耳机推荐

​说到真无线蓝牙耳机,很多人会问音质表现好不好,佩戴上耳舒适性怎么样?等等问题。面对这些常会问的问题,我总结出来,也整理出来几款质量好、佩戴舒适的蓝牙耳机给大家,来看看有哪些。 一、南卡OE PRO开放…

安装SSL证书会拖慢网站访问速度吗?

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是SSL证书SSL证…

Python程序设计基础:程序流程控制(一)

文章目录 一、条件表达式1、关系运算符2、逻辑运算符3、条件表达式 二、选择结构1、单分支结构if语句2、双分支结构if-else语句3、多分支结构if-elif-else语句4、嵌套的if结构 一、条件表达式 程序流程的基本结构主要有三种,顺序结构、选择结构和循环结构&#xff…

5.3.3 绝对路径与相对路径

除了需要特别注意的FHS目录配置外,在文件名部分我们也要特别注意。因为根据文件名写法的不同,也可将所谓的路径(path)定义为绝对路径(absolute)与相对路径(relative)。 这两种文件名…

Java IO 学习总结(五)OutputStreamWriter

Java IO 学习总结(一)输入流/输出流 Java IO 学习总结(二)File 类 Java IO 学习总结(三)BufferedInputStream Java IO 学习总结(四)BufferedReader 缓冲字符流 Java IO 学习总结&…

JDK HTTPS 400错误 微软数据湖数据拉取(DataLake Landing Zone API)避坑指南

文章目录 坑1:微软Azure数据湖landing zone API不支持TLSv1.1协议注意JDK1.8高版本 坑2:拉取的文件内容开头带BOM 数据湖号称新一代数据仓库产品。数据被写进数据湖文件之后会被自动同步到landing zone,可以通过landing zone API读取文件内容…

一文梳理清楚 Python OpenCV 的知识体系

本篇文章为你详细罗列 Python OpenCV 的学习路线与重要知识点。核心分成 24 个小节点,全部掌握,OpenCV 入门阶段就顺利通过了。 1. OpenCV 初识与安装 本部分要了解 OpenCV (Open Source Computer Vision Library)的相关简介&…

常见的性能测试缺陷

目录 前言: 性能测试缺陷分类 一、硬件 二、网络 三、应用 四、配置 五、数据库 六、中间件 前言: 性能测试是测试系统在特定条件下的响应时间、并发用户数、吞吐量、内存使用率、CPU利用率、网络延迟等各项指标,以验证其性能是否符…

ActiveMQ消息队列的介绍以及部署

文章目录 1.ActiveMQ消息队列中间件1.1.什么是ActiveMQ1.2.ActiveMQ支持的消息传递类型 2.部署ActiveMQ消息队列2.1.安装JDK环境2.2.部署ActiveMQ消息队列2.3.启动ActiveMQ消息队列2.4.ActiveMQ的端口号2.5.使用ActiveMQ的后台管理系统 ActiveMQ官网:https://active…

官宣!硬核学科“集成电路与机器人应用开发”正式入驻新校区!

好消息!好消息! 集成电路与机器人应用开发学科 强势入驻黑马武汉校区 现在报名(7月1日前)首期班 限时优惠1000元 再送价值千元硬件装备1套! 上周,播妞采访了几位2023届毕业生的就业现状(点击…