第四章. Pandas进阶—时间序列

news2025/2/24 12:31:27

第四章. Pandas进阶

4.9 时间序列

1.重采样(resample)

在Pandas中,对时间序列频率的调整称为重采样,即时间序列从一个频率转换到另一个频率的过程,由周统计变成月统计

1).语法:

  • 4.8章 第4点 已介绍过:链接: DataFrame.resample

2).示例:

import pandas as pd

#重采样:将1分钟的时间序列转换成5分钟
index=pd.date_range('2022/11/29',periods=10,freq='T')
Series=pd.Series(range(10),index=index)
print(Series)
print("*"*50)

df_sum=Series.resample('5T').sum()
print(df_sum)

结果展示:
在这里插入图片描述

2.降采样(resample)

在Pandas中,周期由高频率转向低频率称为降采样,例如按日统计变成按年统计

1).示例1:

import pandas as pd

# 降采样:按年统计销售量
pd.set_option('display.unicode.ambiguous_as_wide', True)  # 处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)  # 无法对齐主要是因为列标题是中文

df = pd.read_excel('F:\\Note\\图书采购清单.xlsx', sheet_name='Sheet1')
df1 = df.set_index('发货日期')
df2 = df1['原价'].resample('AS').sum()
print(df2)
print('*' * 50)

结果展示:
在这里插入图片描述

3.升采样(resample)

在Pandas中,周期由低频率转向高频率称为升采样,例如按天统计变成按小时统计

1).示例1:

import pandas as pd
import numpy as np

# 升采样:
index = pd.date_range('2022/11/29', periods=2, freq='D')
Series = pd.Series(np.arange(1, 3), index=index)
print(Series)
print("*" * 50)

df1 = Series.resample('8H').asfreq().bfill()  # ffill:向前填充 bfill:向后填充
print(df1)

结果展示:
在这里插入图片描述

4.时间序列数据汇总(ohlc)

1).语法:

DataFrame.resample.ohlc()

参数说明:
返回值:DataFrame对象, 即每组数据的open(开),close(关),high(高),low(低)值

2).示例:

import pandas as pd

# 时间序列数据汇总:找出一组数据的开始数据,结束数据,最大值,最小值
import numpy as np

index = pd.date_range('2022/11/29', periods=12, freq='T')
Series = pd.Series(np.random.random(12), index=index)
print(Series)
print("*" * 50)

df1 = Series.resample('6T').ohlc()
print(df1)

结果展示:
在这里插入图片描述

5.移动窗口数据计算(rolling)

通过重采样可以得到想要的任何频率的数据,但是这些数据也只是一个时点的数据,那么就存在一个数问题:时点的数据波动较大,某一点的数据就不能很好的表现它本身的特性,就引入了移动窗口的概念,简单得说:为了提升数据的可靠性,将某点的取值扩大到包含这个点的一段区域,用区间来进行判断,这个区间就是窗口

1).语法:

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

参数说明:
window:时间窗的大小,数值int:即向前几个数据,offset:即表示时间窗口的大小
min_periods:每个窗口最少包含的观测值数量,小于这个值的窗口结果为NA,值可以是int,offset类型(默认值为1)
center:把窗口的标签设置为居中,布尔型,默认False
win_type: 窗口的类型,截取窗的各种函数。字符串类型,默认为None
on: 可选参数,对于dataframe而言,指定要计算移动窗口的列,值为列名
axis:0:表示列,1:表示行 ,默认值为0
closed:定义区间的开闭,支持int类型的window,对于offset类型默认是左开右闭,即默认为right,可以根据情况指定为left、both等

2).示例:

import pandas as pd
import numpy as np

# 移动窗口数据计算
index = pd.date_range('2022/11/29', periods=8, freq='T')
Series = pd.Series(np.random.random(8), index=index)
print(Series)
print("*" * 50)

df_mean = Series.rolling('3T', min_periods=1).mean()
print(df_mean)

结果展示:
在这里插入图片描述

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

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

相关文章

5G无线技术基础自学系列 | MIMO功能

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 无线通信的迅速发展对系统的容量和频谱…

天启星座(Tianqi)介绍

天启星座(Tianqi)由38颗卫星组网而成,提供全球短数据采集。致力于为全球物联网相关行业用户提供覆盖全球、准实时的物联网卫星数据服务,真正实现空中、海洋和地面的万物互联,构建天地一体化的卫星物联网生态系统&#…

stm32 笔记 UART读取及HAL库应用

基本流程图 由此图可知: 采用HAL库,中断方式接收串口,只有当RxXferCount 0 时,也就是调用这个函数,接收指定量的数据大小完成时,才会调用回调函数HAL_UART_RxCpltCallback()。 而且,RxXferCou…

技术资料:STM32F746NGH7,STM32L471ZGT6 IC MCU+FPU

描述:STM32F7 32 位 MCUFPU 基于高性能的 ARMCortex-M7 32 位 RISC 内核,工作频率高达 216MHz。Cortex-M7 内核具有单浮点单元(SFPU)精度,支持所有 ARM 单精度数据处理指令与数据类型。同时执行全套 DSP 指令和存储保护单元(MPU&a…

ThreadLocal源码解析 2.ThreadLocalMap内核

ThreadLocal源码解析—ThreadLocalMap内核 简介 内部类 ThreadLocalMap 才是 ThreadLocal 的真正核心。 ThreadLocalMap 与 HashMap不一样,HashMap 中的数据结构有数组,链表还有红黑树;而 ThreadLocalMap 中的数据结构只有数组。HashMap 处…

反转链表与拓展【灵神基础精讲】

来源0x3f:https://space.bilibili.com/206214 文章目录反转链表[206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/)[92. 反转链表 II](https://leetcode.cn/problems/reverse-linked-list-ii/)[25. K 个一组翻转链表](https://leetcode.cn/proble…

[附源码]Python计算机毕业设计Django仓储综合管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

windows改linux

使用旧的windows电脑改成linux机器,不使用双系统,直接格式化 本次需要两个U盘或者两台电脑。 制作WINPE启动盘 使用U深度制作启动盘,制作完成后进入PE系统,然后使用diskGenius删除所有电脑的分区进行快速分区,格式选…

R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据...

原文链接:http://tecdat.cn/?p24152什么是PCR?(PCR PCA MLR)(点击文末“阅读原文”获取完整代码数据)。• PCR是处理许多 x 变量的回归技术• 给定 Y 和 X 数据:• 在 X 矩阵上进行 PCA– 定…

力扣(LeetCode)116. 填充每个节点的下一个右侧节点指针(C++)

模拟 这题可以直接操作根节点,我们保存根结点,用作最终返回值。 填充每个结点的 nextnextnext 指针,其实是树的层序遍历。由于 nextnextnext 指针的存在,我们可以做到 O(1)O(1)O(1) 的空间复杂度。 算法: 从根结点出发&#xf…

自动驾驶专题介绍 ———— 动力传动系统

文章目录动力传动系统传统动力传动系统混合动力传动系统串联型并联型串并联型纯电动传动系统电机中央驱动电动轮驱动动力传动系统 汽车动力传动系统是位于发动机和驱动车轮之间的动力传动装置,其基本功用是将发动机发出的动力传输给驱动车轮,以保障汽车在…

JavaWeb简单实例——jQuery

简单介绍: 在之后的学习中,我们会接触到Ajax异步请求,这个异步请求需要我们在网页端使用JS来发送,而使用原生的Ajax请求比较复杂,所以我们就借用一个前端框架封装后的Ajax请求,这样可以简化我们的代码编写…

大坝安全动态监管预警系统 大坝安全监测平台 遥测终端机 水位雨量监测站

平升电子大坝安全动态监管预警系统/大坝安全监测平台/大坝安全监测系统根据SL551-2012《土石坝安全监测技术规范》的整编要求,设置了变形监测、渗流监测、环境量监测。借助该系统可及时了解大坝的工作性态和水库可能存在的事故隐患,为大坝安全管理与水库…

Linux 安装 ElasticSearch

注意事项: 内存不能太小,否则会启动失败JDK版本需要对应,es7 需要 Java 11不能以 root 用户启动 平台确认 大家可以自行安装虚拟机部署,有条件可以在服务器操作。 安装Java 安装 Elasticsearch 之前,你需要先安装一个较…

04. 组合总和

1.题目链接: 39. 组合总和 2.解题思路: 2.1.题目要求: 给定一个“无重复数组candidates”和一个“目标和target” ,要求在给定 数组candidates 的范围内,输出和等于 目标和target 的组合,此组合元素可重复…

Java程序员:三个月刷完1000道面试真题,没想到老板直接给我升职了

同事:前阵子听说你要跳槽,现在准备得怎么样啊?程序员T:不跳了同事:啊?为什么?程序员T:涨薪了呗?同事:真的吗?涨了多少?你自己跟老板谈…

卓豪再签洛钼集团,实现AD域自动化管理有效降低管理人员工作负荷

2022年11月,ManageEngine卓豪续签上海董禾商贸有限公司,将为“洛钼集团”部署ADManager Plus软件,助力IT管理摆脱复杂AD域管理操作,实现AD域管理自动化。 上海董禾商贸 上海董禾商贸有限公司作为洛钼集团在上海的主体公司。洛阳栾…

2.9.39:Flexmonster:网络报告数据透视表组件

用于网络报告的数据透视表组件 用于可视化业务数据的最强大的 JavaScript 工具 与任何技术堆栈集成 该组件可与任何技术堆栈无缝协作: 与Angular、React、jQuery、Vue等 完美集成 没有服务器端依赖 只需几行代码即可开始使用。 加载海量数据集 即使有超过一百万行…

珠宝商城小程序开发的价值和优势

珠宝行业的巨大利润空间就决定了行业内激烈的竞争压力,而随着时代的发展,单一的线下门店营销方式很难让珠宝行业得到更好的发展。为了防止顾客流失,挖掘潜在的消费潜力,珠宝行业开始向科技化、互联网化、移动化的方向开拓市场&…

Sentinel-2(哨兵2数据介绍)

哥白尼 Sentinel-2(哨兵 2)计划是一个由两颗相同的 Sentinel-2 极轨卫星组成的星座,两颗卫星相位差 180,运行在平均高度 786 km 的太阳同步轨道上。每颗卫星在其轨道上的位置由双频全球导航卫星系统(GNSS)接…