【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)

简介: 【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)

需要源码请点赞关注收藏后评论区留言私信~~~

在很多行业,时间序列数据是一种重要的结构化数据类型,如金融、经济、生态学、神经科学和物理学等领域。在多个时间点观测或测量的数据形成了时间序列

一、日期和时间数据类型

1 datetime构造

 Python标准库中包含了用于日期(date)、时间(time)、日历(calendar)等功能的数据类型,主要会用到datetime、time、calendar模块,我们主要介绍一下datetime模块

表9-1 datetime库的时间数据类型为

date类型数据的创建

data类型的数据用于创建日期型数据,通过年月日进行存储

import datetime
date = datetime.date(2019,6,1)
print(date)
print(date.year,date.month,date.day)

time类型数据的用法

time类型的数据用于存储时间数据,通过时、分、秒、毫秒进行存储

time = datetime.time(10,20,15)
print(time)
print(time.hour,time.minute,time.second)

Datetime类数据是date类和time类数据的组合,通过now函数可以查看当前的时间

timedelta类数据为两个datetime类数据的差,也可以通过给datetime类对象加或减去timedelta类对象,以此获得新的datetime对象

timedelta类数据应用

now = datetime.datetime.now()
birth = datetime.datetime(2016,5,1,18,30,25)
delta = now-birth
print(delta)

2 数据转换

在数据分析中,字符串和datetime类数据需要进行转换,通过str方法可以直接将datetime类数据转换为字符串数据

1. datetime -> str:将datetime类数据转换为字符串数据。     str方法:    datetime.strftime  可以将datetime类数据转换为格式化字符串数据

2. str -> datetime :将字符串数据转换为datetime类数据。     datetime.strptime(…) 根据string, format 2个参数,返回一个对应的datetime对象

datetime格式说明

将datetime类数据转换为字符串数据

from datetime import datetime
stamp = datetime(2019,6,4)
print(str(stamp))

如果需要将datetime类数据转换为特定格式的字符串数据,需要使用strftime方法

strftime方法转换datetime类型数据

stamp.strftime('%Y/%m/%d')

字符串转换为日期类型

w_value = '2019-6-23'
print(datetime.strptime('2019-06-23','%Y-%m-%d'))
datestrs = ['7/19/1976','8/1/1976']
[datetime.strptime(x,'%m/%d/%Y') for x in datestrs ]

在Pandas中也可以通过to_datetime方法快速将一列字符串数据转换为datetime数据

二、时间序列基础

Pandas中的基础时间序列种类是由时间戳索引的Series,在Pandas外部则表示为Python字符串或datetime对象

Pandas中的时间序列指的是以时间数据为索引的Series或DataFrame,构造方法即为Series的构造方法

时间序列的构造

import pandas as pd
import numpy as np
w_dates = [datetime(2018,5,15),datetime(2018,6,15),datetime(2019,5,18),datetime(2019,5,25)]
s = pd.Series(np.arange(4),index = w_dates)
print(s)

和其他Series类似,不同索引的时间序列之间的算术运算在日期上会自动对齐

时间序列的索引方法和pandas基础数据类型的用法是一样的

print(s)
print(s[2])

时间序列的切片

s[:2]

利用索引进行时间序列的切片

s['2019-05-15':'2019-05-18']

利用年获取时间序列切片

s['2018']

利用年和月获取时间序列切片

s['2018-6']

查看重复时间序列

s.index.is_unique

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
6天前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
36 5
|
29天前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
61 0
|
18天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
135 0
|
27天前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
70 0
|
28天前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
41 0
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
71 2
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
157 4
|
3月前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
75 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
数据分析之旅:用Python探索世界
数据分析之旅:用Python探索世界
24 2
|
2月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
【9月更文挑战第2天】数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
53 5