如果你经常使用Python进行数据分析,那么对于Pandas一定不会陌生,但是Pandas除了在数据处理上大放异彩,随着版本的不断更新,Pandas的绘图功能在某些情况下甚至要比Matplotlib更加适用,本文就将介绍如何用Pandas更快的进行数据可视化!

  基本使用,学会制作套路

首先我们使用pandas随机生成示例数据

import pandas as pd
df= pd.DataFrame(np.random.rand(8, 4), columns=['A','B','C','D'])

现在只要一行代码,即可完成柱状图的绘制df.plot.bar()

同样是这个图,如果使用Matplotlib制作的话????

import matplotlib.pyplot as pltx = np.array(df.index.tolist())
y1 = df.A.tolist()
y2 = df.B.tolist()
y3 = df.C.tolist()
y4 = df.D.tolist()
y5 = df.E.tolist()total_width, n = 0.8, 5
width = total_width / n
x = x - (total_width - width) / 2plt.bar(x, y1,  width=width, label='A')
plt.bar(x + width, y2, width=width, label='B')
plt.bar(x + 2*width, y3, width=width, label='C')
plt.bar(x + 3*width, y4, width=width, label='D')
plt.bar(x + 4*width, y5, width=width, label='E')plt.legend()
plt.show()

可以看到,虽然结果差不多,不过代码量瞬间就上去了,如果你是Matplotlib高手可能会用更简洁的代码制作,但一定没有pandas一行代码来的方便!

  更多图表,一览Pandas强大

下面我们继续看看,一行pandas代码能做出哪些常用的图!

堆叠柱状图,添加一个参数即可df.plot.barh(stacked=True)

堆叠面积图df.plot.area(stacked=True,alpha = 0.9)

密度估计图df.plot.kde()

直方图的话,我们需要换一组数据

df = pd.DataFrame({'a': np.random.randn(1000) + 1,'b': np.random.randn(1000),'c': np.random.randn(1000) - 1},columns=['a', 'b', 'c'])

下面,两行代码就能制作堆叠/不堆叠的直方图

df.plot.hist(stacked=True, bins=20)
df.plot.hist(alpha=0.5)

当然包括什么箱线图、散点图等常用图形,都可以通过一行代码轻松搞定????

df.plot.box()
df['value'].plot()
df.plot.scatter()
data.plot.hexbin(x='A',y='B')

制作子图可以吗? 只需要设置subplots=True就行了,子图位置、大小调整方式和Matplotlib设置一样!

data.plot(subplots=True,layout=(3, 2), figsize=(15, 8));

更多的图表,本文就不再一一展示,从官方文档中可以看到(我的版本是0.23.4),Pandas一共支持14种常见图表的直接绘制,感兴趣的读者可以进一步阅读官方文档!

其实对图片敏感的读者可以发现,这不就是基于Matplotlib做出来的吗?所以它支持像调整Matplotlib图表一样,在作图时修改一些参数来控制图片的大小、图例、颜色、位置等因素。

  修改主题,解锁酷炫样式

最后,如果你觉得默认生成的图表不够好看(我是这么觉得),而它又是基于Matoplotlib制作的,所以我们可以使用同样套着Matplotlib壳的Seaborn调色板,从而调整图片主题。

还是上面的数据,下面让我们换个主题重新绘制

import seaborn as sns
sns.set_palette("pastel", 8)

import seaborn as sns
sns.set_palette("Blues_r", 8)

import seaborn as sns
sns.set_palette("magma", 8)

上面是我常用的几种配色,更多的颜色搭配你可以在seaborn相关文档中找到并使用!

以上就是关于如何在使用Python更快速的对数据进行可视化,我们可以发现,在很多情况下,使用Pandas直接进行绘图会显得更加高效便捷

但本文的目的并不是让你彻底放弃Matplotlib,在使用pandas绘图时很多参数设置都需要参考Matplotlib,所以我们应该在点亮这项技能后,能根数据和场景的不同,选择一个最合适的工具来完成可视化

往期推荐:
收藏 | 49 个 Python 学习资源我都逛哪些技术网站?(程序员必备58个网站汇总)肝!精心整理了 50 个数据源网站!

再见,Matplotlib!相关推荐

  1. 再见matplotlib,可视化神器 Plotly 绘制图表的太酷炫了

    数据分析离不开数据可视化.我们最常用的就是pandas,matplotlib,pyecharts 当然还有 Tableau,最近看到一篇文章介绍 plotly 制图后,我感觉写的不够简洁明了. 今天就 ...

  2. matplotlib 折线图_漂亮图表也可信手拈来,一文学会用Python绘制堆积折线图

    今天咱们还是接着上次的话题,继续和大家聊聊关于Python绘图相关的东东哦,上次已经和大家讨论完了如何给自己所绘制的图表中添加装饰线以及修改装饰线密度的方法,今天呢,咱们再聊点的新的东东哦,还是和大家 ...

  3. matplotlib柱状图_Python可视化很简单,一文学会绘制柱状图、条形图和直方图

    matplotlib库作为Python数据化可视化的最经典和最常用库,掌握了它就相当于学会了Python的数据化可视化,通过前几次呢,咱们已经讨论了使用matplotlib库中的图表组成元素的几个重要 ...

  4. 再见 Xshell,这个开源的终端工具更酷炫。

    作者:JackTian 来源:公众号「杰哥的IT之旅」 ID:Jake_Internet 转载请联系授权(微信ID:Hc220088) 原文地址:再见 Xshell!这个开源的终端工具更酷炫! 大家好 ...

  5. 再见Excel,这个Python数据可视化库太炫酷了

    来源:网络 由下面代码生成  from chord import Chordmatrix = [[0, 5, 6, 4, 7, 4],[5, 0, 5, 4, 6, 5],[6, 5, 0, 4, 5 ...

  6. 40000字!全网最强Matplotlib实操指南!

    导读 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直 ...

  7. python可以实现vba功能吗_再见 VBA!神器工具统一 Excel 和 Python

    原标题:再见 VBA!神器工具统一 Excel 和 Python 关注 作者:东哥起飞 来源:Python数据科学 大家好,我是东哥. 经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评.这次 ...

  8. Py之Crawler:基于requests库+json库实现爬取刘若英2018导演电影《后来的我们》的插曲《再见》张震岳的几十万热评+词云:发现“再见”亦是再也不见

    Py之Crawler:基于requests库+json库实现爬取刘若英2018导演电影<后来的我们>的插曲<再见>张震岳的几十万热评+词云:发现"再见"亦是 ...

  9. 重磅推荐!Matplotlib官方小抄手册公开啦,值得收藏

    学Python里面有一个重要的分支就是数据分析和数据挖掘,而所有玩数据分析和数据挖掘的都离不开一个工具就是Matplatlib.因为它太强大了,集合numpy和pandas两大神器,可以秀出很多漂亮的 ...

最新文章

  1. Spring Cloud 常见面试题及答案
  2. 【ESP8266】使用ESP8266 NONOS SDK的JSON API
  3. MySQL 1093 You can't specify target table for update in FROM c 的解决办法
  4. 电感检测_三、电感线圈的识别与检测(二)
  5. HDU2191 多重背包或者01背包 xingxing在努力
  6. 麦克纳姆轮平台的两种构型
  7. 判断鼠标向右或向左滑动,响应不同的事件
  8. 从Java到JVM到OS线程睡眠
  9. fastdfs返回的url_FastDFS上传文件Demospringboot实现
  10. 新华三杯考前突击---Day3---大数据平台技术篇
  11. 今天再发一下热门关键字,看看能否推广网站
  12. 2016二级java题型分数_2016年英语六级考试题型、试卷结构及分值比例
  13. 服务器数据恢复成功案例+服务器数据恢复 原理
  14. web前端之过滤器的作用
  15. 图纸上标注的是实际尺寸吗_CAD比例画图时,图上标的尺寸,是实际尺寸还是图上尺寸啊?...
  16. 失败一时并不可怕,可怕的是不去总结和改正。
  17. 如何写好一份前端简历
  18. K 凸函数的一些性质和相关证明
  19. GlusterFS简介
  20. 4.1内网穿透-holer,实现外网访问地址,此处用于webhook地址

热门文章

  1. Swoole安装make报错 因为php-config配错
  2. MySQL配置慢查询日志及使用说明
  3. koa router ajax,ajax 请求 koa2 router.post 404
  4. python界面开发工具免费_Python程序员必备的四款开发工具
  5. java memcachedclient_memcached client — memcached client for java使用 | 学步园
  6. java web mvc 拆分_JAVA WEB初接触——简单的MVC架构
  7. chroot环境怎么重启linux,linux下简易chroot环境的塔建
  8. java script的图片隐藏,java和javascript中过滤掉img形式的字符串不显示图片的方法...
  9. 根目录访问php 404,nginx配置后只有根目录首页index.php能访问,其他页面404
  10. 【Centos 8】【Centos 7】腾讯云服务器 安装 docker