百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

Pandas时间序列数据聚合全攻略:实战与代码解析

ztj100 2025-06-04 08:56 42 浏览 0 评论

让我们学习如何在Pandas中进行时间序列数据聚合。

准备工作

我们需要安装Pandas和Numpy包,可以使用以下代码进行安装:

数据驱动决策的核心技能,从现在开始,申请截止至7月15日,秋季即刻启程。

pip install pandas numpy

安装好相关包后,就可以正式进入教程了。

时间序列数据聚合

时间序列是一类特殊的数据,它们按顺序采集并存储在特定的时间点。这类数据集常用于描述某一事物的变化过程,比如股价、月度销售数据等。时间序列数据的核心特征在于其按时间顺序排列。

聚合是一种汇总或合并多个数据集以生成单一值集合的方法。它通常用于通过简明信息来理解更大的数据集。

作为一种数据集,时间序列同样可以进行聚合操作。让我们通过一个示例数据集来实际操作。

import pandas as pd
import numpy as np

np.random.seed(42)
date_rng = pd.date_range(start='2021-01-01', end='2023-12-31', freq='D')

df = pd.DataFrame({
    'Date': date_rng,
    'Sales': np.random.randint(100, 300, size=len(date_rng)),
    'Profit': np.random.randint(1000, 5000, size=len(date_rng)),
    'Rating': np.random.uniform(1, 10, size=len(date_rng))
})

有了这个示例数据集后,我们就可以尝试进行时间序列聚合了。在Pandas中,可以使用resample或groupby方法进行聚合。

首先介绍resample方法。该方法根据时间序列将数据按指定周期进行聚合。要使用resample,需要先将日期设置为索引。

df.set_index('Date', inplace=True)

接下来,我们可以用resample来进行时间序列聚合。例如,下面代码实现了按年聚合:

df.resample('Y').mean()

输出结果:

                Sales       Profit    Rating
Date                                         
2021-12-31  203.410959  3105.854795  5.507386
2022-12-31  203.153425  2962.819178  5.366746
2023-12-31  194.657534  2989.123288  5.503049

你可以根据需要更改聚合周期,例如:

  • D(每日)
  • W(每周)
  • M(每月)
  • Q(每季度)
  • A(每年)

另外,也可以用groupby方法进行时间序列聚合:

df.groupby(df.index.year).mean()

输出结果:

          Sales       Profit    Rating
Date                                   
2021  203.410959  3105.854795  5.507386
2022  203.153425  2962.819178  5.366746
2023  194.657534  2989.123288  5.503049

我们还可以为不同的列指定不同的聚合方法:

df.resample('Y').agg({
    'Sales': 'sum',
    'Profit': 'mean',
    'Rating': 'max'
})

输出:

           Sales       Profit    Rating
Date                                    
2021-12-31  74245  3105.854795  9.959324
2022-12-31  74151  2962.819178  9.931739
2023-12-31  71050  2989.123288  9.973703

以上就是时间序列聚合的全部内容。掌握时间序列聚合将为你的数据分析能力加分!

相关推荐

这个 JavaScript Api 已被废弃!请慎用!

在开发过程中,我们可能会不自觉地使用一些已经被标记为废弃的JavaScriptAPI。这些...

JavaScript中10个“过时”的API,你的代码里还在用吗?

JavaScript作为一门不断发展的语言,其API也在持续进化。新的、更安全、更高效的API不断涌现,而一些旧的API则因为各种原因(如安全问题、性能瓶颈、设计缺陷或有了更好的替代品)被标记为“废...

几大开源免费的 JavaScript 富文本编辑器测评

MarkDown编辑器用的时间长了,发现发现富文本编辑器用起来是真的舒服。...

比较好的网页里面的 html 编辑器 推荐

如果您正在寻找嵌入到网页中的HTML编辑器,以便用户可以直接在网页上编辑HTML内容,以下是几个备受推荐的:CKEditor:CKEditor是一个功能强大的、开源的富文本编辑器,可以嵌入到...

Luckysheet 实现excel多人在线协同编辑

前言前些天看到Luckysheet支持协同编辑Excel,正符合我们协同项目的一部分,故而想进一步完善协同文章,但是遇到了一下困难,特此做声明哈,若侵权,请联系我删除文章!若侵犯版权、个人隐私,请联系...

从 Element UI 源码的构建流程来看前端 UI 库设计

作者:前端森林转发链接:https://mp.weixin.qq.com/s/ziDMLDJcvx07aM6xoEyWHQ引言...

手把手教你如何用 Decorator 装饰你的 Typescript?「实践」

作者:Nealyang转发连接:https://mp.weixin.qq.com/s/PFgc8xD7gT40-9qXNTpk7A...

推荐五个优秀的富文本编辑器

富文本编辑器是一种可嵌入浏览器网页中,所见即所得的文本编辑器。对于许多从事前端开发的小伙伴来说并不算陌生,它的应用场景非常广泛,平时发个评论、写篇博客文章等都能见到它的身影。...

基于vue + element的后台管理系统解决方案

作者:林鑫转发链接:https://github.com/lin-xin前言该方案作为一套多功能的后台框架模板,适用于绝大部分的后台管理系统(WebManagementSystem)开发。基于v...

开源富文本编辑器Quill 2.0重磅发布

开源富文本编辑器Quill正式发布2.0版本。官方TypeScript声明...

Python之Web开发框架学习 Django-表单处理

在Django中创建表单实际上类似于创建模型。同样,我们只需要从Django类继承,则类属性将是表单字段。让我们在myapp文件夹中添加一个forms.py文件以包含我们的应用程序表单。我们将创建一个...

Django测试入门:打造坚实代码基础的钥匙

这一篇说一下django框架的自动化测试,...

Django ORM vs SQLAlchemy:到底谁更香?从入门到上头的选择指南

阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。...

超详细的Django 框架介绍,它来了!

时光荏苒,一晃小编的Tornado框架系列也结束了。这个框架虽然没有之前的FastAPI高流量,但是,它也是小编的心血呀。总共16篇博文,从入门到进阶,包含了框架的方方面面。虽然小编有些方面介绍得不是...

20《Nginx 入门教程》使用 Nginx 部署 Python 项目

今天的目标是完成一个PythonWeb项目的线上部署,我们使用最新的Django项目搭建一个简易的Web工程,然后基于Nginx服务部署该PythonWeb项目。1.前期准备...

取消回复欢迎 发表评论: