pandas plot函数:数据可视化的快捷通道
一般来说,我们先用pandas
分析数据,然后用matplotlib
之类的可视化库来显示分析结果。
而pandas
库中有一个强大的工具--plot
函数,可以使数据可视化变得简单而高效。
1. plot 函数简介
plot
函数是pandas
中用于数据可视化的一个重要工具,
通过plot
函数,可以轻松地将DataFrame
或Series
对象中的数据以图形的形式展示出来。
plot
函数支持多种类型的图形,包括折线图、柱状图、散点图、饼图等,这些不同类型的图形适用于不同的数据分析场景。
此外,plot
函数还支持通过参数设置来调整图形的样式,如颜色、标签、图例等,以满足更加个性化的可视化需求。
plot
函数的参数名称和含义了matplotlib
绘图时的参数是类似的,
如果熟悉matplotlib
绘图的话,上手更快。
2. 数据准备
下面的示例中使用的数据采集自A股2024年1月和2月的真实交易数据。
数据下载地址:https://databook.top/。
导入数据:
import pandas as pd
import matplotlib.pyplot as plt
fp = r'D:\data\2024\历史行情数据-不复权-2024.csv'
df = pd.read_csv(fp)
df = df.loc[:, ["股票代码", "日期", "开盘", "收盘", "最高", "最低", "成交量"]]
df
3. 使用示例
针对上面的交易数据,下面演示如何用plot
函数快速绘图。
3.1. 折线图
折线图一般用于展示时间序列数据,可以提取某一支股票的数据并绘制出来。
# 提取870299这支股票
data = df.query("股票代码==870299")
data.index = data["日期"]
# 绘制每天最高价和最低价的曲线
data.loc[:, ["最高", "最低"]].plot(kind="line", title="股票870299", rot=45)
plt.show()
代码中有几个注意点:
data.index = data["日期"]
:plot
函数将索引列作为横轴,所以这里设置日期列为索引(index
)kind
参数:设置图形的类型,这里设置line
,表示折线图title
参数:设置图形的标题rot
参数:调整刻度的角度,这里将X轴的刻度旋转了45度,防止日期之间的重叠
3.2. 柱状图
柱状图多用于比对数据,下面我们用pandas
挑选几支股票,然后比对它们的开盘价和收盘价的平均值。
# 随便挑选一些股票代码
codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代码", "开盘", "收盘"]].query("股票代码==@codes")
# groupby之后,绘制各个股票开盘价和收盘价的平均值
data.groupby(by=["股票代码"]).mean().plot(kind="bar")
plt.show()
代码中的注意点:
kind
参数:设置图形的类型,这里设置bar
,表示柱状图groupby
之后,"股票代码"变为索引列,所以绘图时作为横轴
如果要绘制横向的柱状图,只要把kind
参数设置成barh
即可。
data.groupby(by=["股票代码"]).mean().plot(kind="barh")
3.3. 饼图
饼图是另一种比较数据的方式,它可以比较数据之间的占比,更好的看出各种数据的分布情况。
下面也随机挑选一些股票,用饼图比较它们的成交量情况。
codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代码", "成交量"]].query("股票代码==@codes")
data.groupby(by=["股票代码"]).sum()["成交量"].plot(kind="pie", autopct="%1.1f%%")
plt.show()
代码中的注意点:
kind
参数:设置图形的类型,这里设置饼图pie
,表示饼图autopct
参数:各个区域所占百分比的显示方式
3.4. 其他...
除了上面常用的图形,plot
函数还支持其他多种图形,其kind
参数目前支持的图形包括:
line
: 折线图bar
: 柱状图barh
: 横向柱状图hist
: 直方图box
: 箱型图kde
: 核密度估计图area
: 面积图pie
: 饼图scatter
: 散点图hexbin
: 六边形箱图
4. 总结
总的来说,plot
函数为数据分析师提供了一个强大而灵活的数据可视化工具。
通过plot函数,我们可以快速地将数据转化为直观的图形,从而更好地理解数据的分布、趋势和关系。
这种直观的理解有助于我们发现数据中的潜在模式,进而做出更加准确和有效的决策。
无论是初学者还是资深的数据分析师,都可以通过掌握plot
函数来提升自己的数据分析能力。
pandas plot函数:数据可视化的快捷通道的更多相关文章
- 如和针对CPU时间百分比,Mem使用bytes,以及Network RecvBytes/SendBytes指标性能压测数据可视化
设计思路:通过jmeter5.1压测获取cpu,Mem,Network的压测指标数据利用pandas+openpyxl进行数据可视化: 涉及添加jar包:下载地址:https://files.cnbl ...
- [数据可视化之一]Pandas单变量画图
Pandas单变量画图 Bar Chat Line Chart Area Chart Histogram df.plot.bar() df.plot.line() df.plot.area() df. ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- 数据可视化基础专题(八):Pandas基础(七) 数据清洗与预处理相关
1.数据概览 第一步当然是把缺失的数据找出来, Pandas 找缺失数据可以使用 info() 这个方法(这里选用的数据源还是前面一篇文章所使用的 Excel ,小编这里简单的随机删除掉几个数据) i ...
- 数据可视化之DAX篇(十四)DAX函数:RELATED和RELATEDTABLE
https://zhuanlan.zhihu.com/p/64421378 Excel中知名度最高的函数当属VLOOKUP,它的确很有用,可以在两个表之间进行匹配数据,使工作效率大大提升,虽然它也有很 ...
- R可视化:plot函数基础操作,小白教程
最近迷恋上了画图,一方面是觉得挺有意思的,另一方面是觉得自己确实画图方面比较弱,所以决定比较系统地回顾反思一下,同时顺带记录下来分享给大家.也确实是好久好久没更新文章了,真的是杂事太多太忙太牵扯精力没 ...
- 数据可视化基础专题(二):Pandas基础(一) excel导入与导出
1.Excel 1.1 Excel导入 read_excel() pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col ...
- [译]学习IPython进行交互式计算和数据可视化(五)
第四章:交互式绘图接口 本章我们将展示Python的绘图功能以及如何在IPython中交互式地使用它们. NumPy为处理大量的多维数组结构的数据提供了高效的方法.但是看行行列列的数字总不如直接看曲线 ...
- 【数据科学】Python数据可视化概述
注:很早之前就打算专门写一篇与Python数据可视化相关的博客,对一些基本概念和常用技巧做一个小结.今天终于有时间来完成这个计划了! 0. Python中常用的可视化工具 Python在数据科学中的地 ...
- Python数据可视化的四种简易方法
摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据, ...
随机推荐
- 火遍外网的Keychron测评,带你入坑;ps马上5.20了送一个给你的心爱的她/他。
那些年用过的机械键盘 如果你经常上YouTube或Instagram,然后你又对键盘感兴趣,我相信你肯定看到过他--Keychron K2,他真的是一款曝光量很高的键盘. 1.键盘keychron k ...
- 19.7 Boost Asio 传输序列化数据
序列化和反序列化是指将数据结构或对象转换为一组字节,以便在需要时可以将其存储在磁盘上或通过网络传输,并且可以在需要时重新创建原始对象或数据结构. 序列化是将内存中的对象转换为字节的过程.在序列化期间, ...
- 太强了!本地存档一键导入 Sealos 帕鲁专属服务器
上一篇:幻兽帕鲁 Palworld 私有服务器一键部署教程 作为一名资深帕鲁,我的职责就是帮助各位帕鲁主人们闭着眼睛部署私服,完全不用带脑子. 我就喜欢群里的帕鲁老板们压榨我,拿鞭子抽我让我赶紧上新功 ...
- 求助:Docker怎么连接mongoDB?
首先 在playwithDocker中通过docker pull mongo引入mongo 然后创建容器 docker run -it --name mymongo -p 27017:27017 -v ...
- spring boot jar混淆加密
最近在做一个智能床垫的机构版项目,客户要求部署到客户那边要做代码混淆防止代码被反编译. 一:在需要加密的jar的pom.xml文件添加依赖 <!-- 设置 jitpack.io 仓库 --> ...
- Cnpack ctrl+alt+v 来回切换 变量声明区,和代码写区,非常方便
Cnpack ctrl+alt+v 来回切换 变量声明区,和代码写区,非常方便 非常方便
- .NET 云原生架构师训练营(模块二 基础巩固 配置)--学习笔记
2.2.3 核心模块--配置 IConfiguration Options ASP.NET Core 中的配置:https://docs.microsoft.com/zh-cn/aspnet/core ...
- 《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(中)
第 7 章 高级主题 7.2 并发 当两个用户获取同一个资源后,再同时修改该资源,就会导致并发问题 常见实现并发的方法有以下两种: 保守式并发控制,每次修改资源,都锁定资源 开放式并发控制,每次修改资 ...
- Linux--top命令解释
top命令解释 1.1 系统运行时间和平均负载: top命令的顶部显示与uptime命令相似的输出 这些字段显示: 当前时间 系统已运行的时间 当前登录用户的数量 相应最近5.10和15分钟内的平均负 ...
- maven打包时打包指定的lib文件夹
今天在打包自己的spring boot项目时遇到了问题, 报找不到类和符号. 因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包. 修改pom.xml, 添加一下内容: <b ...