【数据分析与可视化】时间序列中日期范围、频率、移位、时期的讲解(图文解释 超详细)

简介: 【数据分析与可视化】时间序列中日期范围、频率、移位、时期的讲解(图文解释 超详细)

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

Pandas的通用时间序列是不规则的,即时间序列的频率是不固定的。然而经常有需要处理固定频率的场景,如每天、每月等

因此,Pandas还提供了一整套标准的时间序列频率和工具用于重新采样、推断频率及生成固定频率的数据范围

1 日期范围

Pandas的通用时间序列是不规则的,即时间序列的频率是不固定的。然而经常有需要处理固定频率的场景,如每天、每月等。使用pd.date_range函数可以创建指定长度的DatetimeIndex

date_range函数创建DatetimeIndex索引

index = pd.date_range('2018-12-28','2019-1-10')
index

在默认情况下,产生的DatetimeIndex索引的间隔为天,如果只传递一个起始或者结束如期,则必须传递一个用于生成范围的数字

date_range中指定开始日期和长度

index = pd.date_range(start =  '2019-5-28',periods = 6)
index

date_range中指定结束日期和长度

index = pd.date_range(end = '2019-5-28',periods = 6)
index

2 频率和移位

pandas中的频率是由一个基础频率和一个乘数组成的。基础频率通常以一个字符串别名表示,比如”H”表示每小时。对于每个基础频率,都有一个被称为日期偏移量的对象与之对应。可以通过实例化日期偏移量来创建某种频率:在基础频率前面放上一个整数即可创建偏移量的倍数

基础时间序列频率(部分)

freq设置频率‘M

index = pd.date_range('2018-12-28','2019-3-10',freq = 'M')
index

freq设置频率‘2H

index = pd.date_range(start =  '2019-5-28',periods = 4,freq = '2H')
index

设置频率字符串

index = pd.date_range(start =  '2019-5-28',periods = 4,freq = '2H15T15S')
index

移位”是指将日期按时间向前或向后移动。Series和DataFrame都有一个shift方法用于简单的前向或后向移位,而不改变索引

wdate = pd.Series(np.random.randn(4),index = pd.date_range('2019/1/1',periods = 4,freq = 'M'))
print(wdate)
wdate.shift(2)

这种单纯的移动不会修改索引,而是使部分数据被丢弃。如果在shift方法中传入频率参数,这样就是修改索引了

shift方法中传入频率参数修改索引

wdate.shift(2,freq = 'D')

3 时期

时期表示的是时间区间,如数天、数月或数年等。Period可以创建时期型的数据,传入字符串、整数或频率即可

利用period可以创建时期型数据

w = pd.Period(2019,freq = 'A-DEC')
print(w)
print(w+2)

PeriodIndex索引的用法

类似于pd.date_range,pd.period_range函数可以创建日期范围,PeriodIndex索引同样可以构造Series或DateFrame

wdate = pd.period_range('2019/1/1','2019/6/1',freq = 'M')
pd.Series(np.arange(6),index = wdate)

Period和PeriodIndex对象可以通过asfreq方法转换频

p = pd.Period(2019,freq = 'A-FEB')
print(p.asfreq('M',how = 'start'))
print(p.asfreq('M',how = 'end'))

利用to_period方法可以将由时间戳索引的时间序列数据转换为以时期为索引

日期数据的转换

w = pd.date_range('2019/1/1','2019/6/1',freq = 'M')
y = pd.Series(np.arange(5),index = w)
print(y)
ps = y.to_period()
print(ps)

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

相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
91 0
|
7天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
28天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
167 0
|
1月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
83 0
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
49 0
|
2月前
|
机器学习/深度学习 存储 数据可视化
数据分析和可视化
数据分析和可视化
|
2月前
|
数据采集 传感器 数据可视化
利用Python进行数据分析与可视化
【9月更文挑战第11天】在数字化时代,数据已成为企业决策和科学研究的关键。本文将引导读者了解如何使用Python这一强大的工具进行数据分析和可视化,帮助初学者理解数据处理的流程,并掌握基本的可视化技术。通过实际案例,我们将展示如何从原始数据中提取信息,进行清洗、处理,最终以图形方式展现结果,使复杂的数据变得直观易懂。
|
3月前
|
数据可视化 数据挖掘 Python
"揭秘Visium HD黑科技:空间数据分析大揭秘,可视化与整合的艺术之旅!"
【8月更文挑战第20天】近年来,空间转录组技术,特别是Visium HD技术,因其高分辨率与高通量特性,在单细胞生物学领域受到广泛关注。本文通过Python演示了Visium HD数据的全流程分析:从数据准备(读取表达矩阵和空间坐标)、空间数据分析(计算基因表达统计量)、数据可视化(绘制基因表达热图和空间点分布图),到多样本数据整合,为读者提供了实用的分析指南,助力深入探索空间转录组学的奥秘。
81 4
|
3月前
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
66 0
|
3月前
|
数据可视化 前端开发 JavaScript
Echarts+JS实现数据分析可视化大屏!!附源码!!
Echarts+JS实现数据分析可视化大屏!!附源码!!