当前位置:首页 > 科技  > 软件

掌握Python八种绘图类型带你深入时间序列数据分析

来源: 责编: 时间:2024-01-18 09:40:18 333观看
导读时间序列数据是许多领域的核心,从金融市场到气象学,都需要对时间序列数据进行分析和可视化。Python提供了丰富的库和工具,用于处理和绘制时间序列数据。以下8种不同的绘图类型,在分析时间序列数据比较常用。1、折线图折线

bjJ28资讯网——每日最新资讯28at.com

时间序列数据是许多领域的核心,从金融市场到气象学,都需要对时间序列数据进行分析和可视化。bjJ28资讯网——每日最新资讯28at.com

Python提供了丰富的库和工具,用于处理和绘制时间序列数据。bjJ28资讯网——每日最新资讯28at.com

以下8种不同的绘图类型,在分析时间序列数据比较常用。bjJ28资讯网——每日最新资讯28at.com

1、折线图

折线图是最常见的时间序列数据可视化类型之一。它显示了数据随时间的变化趋势,通常以连续的折线表示。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltimport pandas as pd# 创建时间序列数据data = {'日期': pd.date_range(start='2023-01-01', periods=30, freq='D'),        '数值': [10, 15, 13, 12, 18, 20, 22, 25, 28, 30, 35, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4]}df = pd.DataFrame(data)plt.plot(df['日期'], df['数值'])plt.xlabel('日期')plt.ylabel('数值')plt.title('折线图')plt.show()

2、散点图

散点图用于表示数据点的分布和关系,适合展示时间序列数据中的离散观测。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltimport pandas as pd# 创建时间序列数据data = {'日期': pd.date_range(start='2023-01-01', periods=30, freq='D'),        '数值': [10, 15, 13, 12, 18, 20, 22, 25, 28, 30, 35, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4]}df = pd.DataFrame(data)plt.scatter(df['日期'], df['数值'])plt.xlabel('日期')plt.ylabel('数值')plt.title('散点图')plt.show()

3、柱状图

柱状图适用于展示时间序列数据的分组或分类,通常用于比较不同时间点或不同组之间的数据。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltimport pandas as pd# 创建时间序列数据data = {'日期': pd.date_range(start='2023-01-01', periods=5, freq='D'),        '数值1': [10, 15, 13, 12, 18],        '数值2': [5, 8, 7, 6, 10]}df = pd.DataFrame(data)df.set_index('日期', inplace=True)df.plot(kind='bar')plt.xlabel('日期')plt.ylabel('数值')plt.title('柱状图')plt.show()

4、面积图

面积图是折线图的一种变体,用于显示时间序列数据的趋势和数据点之间的关系。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltimport pandas as pd# 创建时间序列数据data = {'日期': pd.date_range(start='2023-01-01', periods=30, freq='D'),        '数值1': [10, 15, 13, 12, 18, 20, 22, 25, 28, 30, 35, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4],        '数值2': [5, 8, 7, 6, 10, 12, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 35, 30, 25, 20, 15, 10, 5, 4, 3, 2]}df = pd.DataFrame(data)plt.fill_between(df['日期'], df['数值1'], df['数值2'], color='lightblue')plt.xlabel('日期')plt.ylabel('数值')plt.title('面积图')plt.show()

5、箱线图

箱线图用于显示时间序列数据的统计分布,包括中位数、四分位数和异常值。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltimport pandas as pd# 创建时间序列数据data = {'日期': pd.date_range(start='2023-01-01', periods=30, freq='D'),        '数值': [10, 15, 13, 12, 18, 20, 22, 25, 28, 30, 35, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4]}df = pd.DataFrame(data)plt.boxplot(df['数值'])plt.xticks([1], ['数值'])plt.title('箱线图')plt.show()

6、饼图

饼图用于显示时间序列数据的占比和相对比例,适用于表示各部分在整体中的贡献。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as plt# 创建数据labels = ['A', 'B', 'C', 'D']sizes = [15, 30, 45, 10]plt.pie(sizes, labels=labels, autopct='%1.1f%%')plt.axis('equal')plt.title('饼图')plt.show()

7、热图

热图用于可视化时间序列数据的关系和相似性,通常用于呈现多维数据集。bjJ28资讯网——每日最新资讯28at.com

import seaborn as snsimport pandas as pd# 创建时间序列数据data = {'时间': pd.date_range(start='2023-01-01', periods=10, freq='D'),        '特征1': [3, 1, 4, 2, 6, 8, 7, 5, 9, 10],        '特征2': [7, 8, 6, 9, 5, 4, 2, 3, 1, 10]}df = pd.DataFrame(data)corr_matrix = df.corr()sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')plt.title('热图')plt.show()

8、雷达图

雷达图用于展示多个维度的时间序列数据,比较不同类别或时间点的数据分布。bjJ28资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltimport pandas as pd# 创建时间序列数据data = {'时间': pd.date_range(start='2023-01-01', periods=1, freq='D'),        '维度1': [3],        '维度2': [7],        '维度3': [5],        '维度4': [9],        '维度5': [6]}df = pd.DataFrame(data)categories = list(df.columns[2:])values = df.iloc[:, 2:].values[0]fig, ax = plt.subplots(figsize=(6, 6))angles = [n / float(len(categories)) * 2 * 3.14159265359 for n in range(len(categories))]angles += angles[:1]plt.polar(angles, values)plt.fill(angles, values, 'b', alpha=0.1)plt.xticks(angles[:-1], categories)plt.title('雷达图')plt.show()

总结

Python进行时间序列分析的8种常见绘图类型,每种类型都具有独特的用途和适用场景。bjJ28资讯网——每日最新资讯28at.com

折线图常用于展示时间序列数据的趋势和变化,散点图用于呈现离散数据点的分布。柱状图适合比较不同时间点或组之间的数据,而面积图可以突出数据点之间的关系。箱线图有助于了解数据的分布和离群值。饼图适用于显示数据占比,热图用于呈现多维数据的关系,而雷达图展示多个维度的时间序列数据。bjJ28资讯网——每日最新资讯28at.com

通过运用这些绘图技巧,可以提高对时间序列数据的洞察力,发现隐藏在数据中的信息,从而做出更明智的决策和预测。bjJ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-64101-0.html掌握Python八种绘图类型带你深入时间序列数据分析

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Jet Brains 2023 开发者生态系统现状

下一篇: useCallback 使用的四个阶段,你都知道吗?

标签:
  • 热门焦点
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 阿里瓴羊One推出背后,零售企业迎数字化新解

    作者:刘旷近年来随着数字经济的高速发展,各式各样的SaaS应用服务更是层出不穷,但本质上SaaS大多局限于单一业务流层面,对用户核心关切的增长问题等则没有提供更好的解法。在Saa
  • AMD的AI芯片转单给三星可能性不大 与台积电已合作至2nm制程

    据 DIGITIMES 消息,英伟达 AI GPU 出货逐季飙升,接下来 AMD MI 300 系列将在第 4 季底量产。而半导体业内人士表示,近日传出 AMD 的 AI 芯片将转单给
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
Top