import pandas as pd什么意思_Pandas万花筒:让绘图变得更美观
全文共1803字,预计学习时长10分钟
图源:tehrantimes
流行 Python 数据分析库 Pandas 中的绘图功能一直是迅速绘制图表的首选之一。但是,其可用的可视化效果总是十分粗略,实用有余、美观不足。
笔者常用 Pandas 的绘图功能快速地执行一些可视的数据探索,但在介绍数据洞察时,我会使用“更美观”的绘图库(如 Plotly 或 Bokeh )来重做可视化。
自最新的 Pandas 版本0.25.3发布后,无需这样做了,现在我们可以使用第三方可视化库作为 Pandas 绘图功能的后端。Plotly是一款基于 web 实现交互式可视化的流行Python库,其最近发布了 Pandas绘图后端。
来看看如何使用 Plotly 和 Bokeh 后端创建更丰富的可视化效果。
使用不同的后端
想要激活绘图功能的不同后端需在导入 pandas 后,添加此行代码:
pd.options.plotting.backend = 'plotly'
当前可用的后端有:
· Plotly
· Holoviews
· Matplotlib
· Pandas _bokeh
· Hyplot
Plotly后端
Plotly是一个 Python库,其支持丰富的交互式可视化效果。Plotly包的好处之一在于它是在库的 Javascript 版本之上构建的,这意味着图表会基于Web,可以显示为 HTML 文件或嵌入到基于Python的Web应用程序中。用户还可以将可视化内容下载为高质量的图像文件,以便在文档或论文中使用。
下面来浏览一些Plotly作为Pandas绘图后端的快速示例。
如果还没有安装Plotly ,则需要使用pip intsall plotly来安装。如果是在Jupyterlab中使用 Plotly ,则需要额外执行几个安装步骤来显示可视化效果。首先,安装IPywaidgets:
pipenv install jupyterlab " ipywidgets>=7.5"pip install jupyterlab "ipywidgets>=7.5"
然后运行以下命令以安装Plotly扩展:
jupyter labextension install jupyterlab-plotly@4.8.1
为了说明绘图后端的用法,使用openml.org名为“wine(葡萄酒)”的数据集。
import pandas as pd import numpy as np from sklearn.datasets import fetch_openml pd.options.plotting.backend ='plotly' X,y =fetch_openml("wine", version=1, as_frame=True, return_X_y=True) data = pd.concat([X,y], axis=1) data.head()
该数据集由各类葡萄酒的多个特征和相应的标签组成。下图显示了数据集的前几行。
绘图功能的工作方式与标准Pandas绘图功能的工作方式大致相同,只是现在可视化效果同Plotly一样丰富。下面的代码绘制了数据集中两个特征之间的关系。
fig = data[['Alcohol', 'Proline']].plot.scatter(y='Alcohol', x='Proline')fig.show()
可以通过组合 Pandas 的groupby函数创建一个柱状图来总结类之间的平均色调差异:
data[['Hue','class']].groupby(['class']).mean().plot.bar()
将类添加到之前创建的散点图中。使用Plotly,可以轻松地给每个类使用不同的颜色,以便直观地区分:
fig = data[['Alcohol', 'Proline']].plot.scatter(y='Alcohol', x='Proline') fig.show()
Bokeh 后端
Bokeh 也可以提供丰富交互式可视化效果。其可视化图表可以在 Web 浏览器中查看,嵌入到 Web应用程序中或用于创建交互式仪表板。Bokeh 甚至有一个流式 API,可以为流数据(如金融市场数据)创建实时可视化图表。
库可以通过pip来安装:
pip install pandas-bokeh
要在 Jupyterlab中显示 Bokeh的可视化效果,需要安装两个新的扩展:
jupyter labextension install @jupyter-widgets/jupyterlab-managerjupyterlabextension install @bokeh/jupyter_bokeh
使用 Bokeh 后端重新创建之前的散点图:
pd.options.plotting.backend ='pandas_bokeh' import pandas_bokeh from bokeh.io import output_notebook from bokeh.plotting import figure, show output_notebook() p1= data.plot_bokeh.scatter(x='Hue', y='Proline', category='class', , show_figure=False) show(p1)
可视化效果如下:
Bokeh 有一个plot_grid函数,可为多个图表创建仪表板式布局。下面的代码在网格布局中创建四个图表:
output_notebook() p1 = data.plot_bokeh.scatter(x='Hue', y='Proline', category='class', , show_figure=False) p2 = data[['Hue','class']].groupby(['class']).mean().plot.bar() df_hue = pd.DataFrame({ 'class_1': data[data['class'] =='1']['Hue'], 'class_2': data[data['class'] =='2']['Hue'], 'class_3': data[data['class'] =='3']['Hue']}, columns=['class_1', 'class_2', 'class_3']) p3 = df_hue.plot_bokeh.hist() df_proline = pd.DataFrame({ 'class_1': data[data['class'] =='1']['Proline'], 'class_2': data[data['class'] =='2']['Proline'], 'class_3': data[data['class'] =='3']['Proline']}, columns=['class_1', 'class_2', 'class_3']) p4 =df_proline.plot_bokeh.hist() pandas_bokeh.plot_grid([[p1, p2], [p3, p4]], plot_width=450)
为内置的Pandas绘图功能添加多个第三方后端,这大大增强了该库用于数据可视化的能力。从此之后,pandas就可以集美貌与实用于一身啦。
留言点赞关注
我们一起分享AI学习与发展的干货
如转载,请后台留言,遵守转载规范
import pandas as pd什么意思_Pandas万花筒:让绘图变得更美观相关推荐
- python万花筒教程_Pandas万花筒:让绘图变得更美观
全文共1803字,预计学习时长10分钟 图源:tehrantimes 流行 Python 数据分析库 Pandas 中的绘图功能一直是迅速绘制图表的首选之一.但是,其可用的可视化效果总是十分粗略,实用 ...
- import numpy as np\n, import pandas as pd\n, import matplotlib.pyplot as plt
这三行代码都是在导入 Python 中的三个库: "import numpy as np":这行代码导入了 numpy 库,并将其简写为 np.numpy 是一个用于科学计算的 P ...
- import pandas as pd# 读取两个 Excel 文件df1 = pd.read_excel(file1.xlsx)df2 = pd.read_excel(file2.xlsx)...
import pandas as pd 是在 Python 中导入 Pandas 库的语句.pd 是 Pandas 库的常用简称.使用这个语句后,你就可以使用 Pandas 库中的各种函数和方法来处理 ...
- import pandas as pd什么意思_【医学名词】多发性骨髓瘤MR、SD、PD分别是什么意思?...
原标题:[医学名词]多发性骨髓瘤MR.SD.PD分别是什么意思? 根据今年2020已修订多发性骨髓瘤指南当中,有关医学名词的普及有利于提高病友家属对疾病的认知性.除了之前分享的相关名词外,下文再介绍有 ...
- python import pandas as pd_python – Pandas pd.Series.isin性能与集合与数组
这可能不是很明显,但pd.Series.isin使用O(1) – 查找. 经过分析,证明了上述说法,我们将利用其洞察力创建一个Cython原型,可以轻松击败最快的开箱即用解决方案. 假设"s ...
- pandas 替换 某列大于_pandas数据分析总结大全(入门加进阶)
前言 python有个很好用的数据分析库pandas,前段时间做了个数据挖掘的比赛,里面数据分析的部分,是用pandas来实现的,今天借助自己实践的经验,来总结一下pandas常用的数据分析方法. 1 ...
- python pandas教程百家号_Pandas 常见的基本方法
说明:文章所有内容均截选自实验楼教程[Pandas 使用教程],想要查看教程完整内容,点击教程即可~ 前言: Pandas 是非常著名的开源数据处理工具,我们可以通过它对数据集进行快速读取.转换.过滤 ...
- pandas自动创建文件夹_pandas快速入门
pandas有两类数据对象:dataframe和series.Series是一个带标签的一维数组,通常索引在左,值在右.dataframe是一个带标签的二维数组,可以理解成series的字典,共用索引 ...
- pandas 替换 某列大于_Pandas简单入门 1
1写在前面我是从16年开始学习Python的,在使用Python最开始的一段时间,基本是操作list列表和dict字典两个简单的数据结构,后来接触数据的特征越来越多,发现即使是嵌套字典记录数据也很困难 ...
最新文章
- 搭建glusterfs集群
- Java List.size()方法:返回列表中元素的个数(亲测)
- lamp不解析php,lamp环境无法解析php环境
- showcase basketball stadium
- 程序员的最大噩梦是什么?
- 帆软mysql迁移_平台数据迁移- FineReport帮助文档|报表开发|报表使用|学习教程
- 用c语言写贪吃蛇(简易)(适用初学者)(保姆级)
- Python语音基础操作--5.4小波分解
- 一分钟轻松掌握 !Java 高级数据结构 -- 原生 BitSet 源码刨析
- 在x64上构建智能家居(home assistant) (一) Supervised版本安装
- Android 没有出现menu 按键显示 解决
- springboot篇】二十一. 基于springboot电商项目 十二 订单服务
- 如何使用Arduino开发板读/写SD卡模块的数据
- 手绘 | 我说话直,你别介意——我呸!
- 步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍
- 计算机内存的维修方法,电脑修理技巧之内存故障解决
- 立象(ARGOX) 条码标签打印机通用库 PLLB(BWIN-SCAPI)
- css+nth-child+无效,CSS nth-child()和:eq()在我的代码中不起作用
- 自我总结前端vue笔记
- Mybatis插件better-mybatis-generator的下载与使用
热门文章
- python解包的概念_Python学习第176课——tar解包和压缩
- telegraf输出MySQL_Grafana+influxdb+telegraf初探-快速监控主机与mysql
- ImportError: cannot import name ‘joblib‘
- RuntimeError: DataLoader worker (pid(s) 13512, 280, 21040) exited unexpectedly
- 数字图像处理-0.绪论
- “横平竖直”进行连线+将相邻框进行合并
- 安卓逆向_18 --- APK保护策略【Java代码混淆、资源混淆、签名校验】
- Replace Array with Object(以对象取代数组)
- android 遍历所有view,Android 算法:遍历ViewGroup找出所有子View
- C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)