大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事。但自从Python进入3.0时代以后,pandas的使用变得更加普及,它的身影经常见于市场分析、爬虫、金融分析以及科学计算中。

作为数据分析工具的集大成者,pandas作者曾说,pandas中的可视化功能比plt更加简便和功能强大。实际上,如果是对图表细节有极高要求,那么建议大家使用matplotlib通过底层图表模块进行编码。当然,我们大部分人在工作中是不会有这样变态的要求的,所以一句import pandas as pd就足够应付全部的可视化工作了。

下面,我们总结一下PD库的一些使用方法和入门技巧。

一、线型图

对于pandas的内置数据类型,Series 和 DataFrame 都有一个用于生成各类 图表 的 plot 方法。 默认情况下, 它们所生成的是线型图。其实Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现。参考以下示例代码 -

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(10,4),index=pd.date_range('2018/12/18',

periods=10), columns=list('ABCD'))

df.plot()

执行上面示例代码,得到以下结果 -

如果索引由日期组成,则调用gct().autofmt_xdate()来格式化x轴,如上图所示。

我们可以使用x和y关键字绘制一列与另一列。

s = Series( np. random. randn( 10). cumsum(), index= np. arange( 0, 100, 10))

s. plot()

pandas 的大部分绘图方法都有 一个 可选的ax参数, 它可以是一个 matplotlib 的 subplot 对象。 这使你能够在网格 布局 中 更为灵活地处理 subplot 的位置。 DataFrame的plot 方法会在 一个 subplot 中为各列绘制 一条 线, 并自动创建图例( 如图所示):

df = DataFrame( np. random. randn( 10, 4). cumsum( 0), ...: columns=[' A', 'B', 'C', 'D'], index= np. arange( 0, 100, 10))

df. plot()

二、柱状图

在生成线型图的代码中加上 kind=' bar'( 垂直柱状图) 或 kind=' barh'( 水平柱状图) 即可生成柱状图。 这时,Series 和 DataFrame 的索引将会被用 作 X( bar) 或 (barh)刻度:

In [59]: fig, axes = plt. subplots( 2, 1)

In [60]: data = Series( np. random. rand( 16), index= list(' abcdefghijklmnop'))

In [61]: data. plot( kind=' bar', ax= axes[ 0], color=' k', alpha= 0. 7)

Out[ 61]: < matplotlib. axes. AxesSubplot at 0x4ee7750>

In [62]: data. plot( kind=' barh', ax= axes[ 1], color=' k', alpha= 0.

对于 DataFrame, 柱状 图 会 将 每一 行的 值 分为 一组, 如图 8- 16 所示:

In [63]: df = DataFrame( np. random. rand( 6, 4), ...: index=[' one', 'two', 'three', 'four', 'five', 'six'], ...: columns= pd. Index([' A', 'B', 'C', 'D'], name=' Genus'))

In [64]: df

Out[ 64]:

Genus

A B C D

one 0. 301686 0. 156333 0. 371943 0. 270731

two 0. 750589 0. 525587 0. 689429 0. 358974

three 0. 381504 0. 667707 0. 473772 0. 632528

four 0. 942408 0. 180186 0. 708284 0. 641783

five 0. 840278 0. 909589 0. 010041 0. 653207

six 0. 062854 0. 589813 0. 811318 0. 060217

In [65]: df. plot( kind=' bar')

三、条形图

现在通过创建一个条形图来看看条形图是什么。条形图可以通过以下方式来创建 -

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])

df.plot.bar()

执行上面示例代码,得到以下结果 -

要生成一个堆积条形图,通过指定:pass stacked=True -

import pandas as pd

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])

df.plot.bar(stacked=True)

执行上面示例代码,得到以下结果 -

要获得水平条形图,使用barh()方法 -

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])

df.plot.barh(stacked=True)

四、直方图

可以使用plot.hist()方法绘制直方图。我们可以指定bins的数量值。

import pandas as pd

import numpy as np

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(bins=20)

执行上面示例代码,得到以下结果 -

要为每列绘制不同的直方图,请使用以下代码 -

import pandas as pd

import numpy as np

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.hist(bins=20)

执行上面示例代码,得到以下结果 -

五、箱型图

Boxplot可以绘制调用Series.box.plot()和DataFrame.box.plot()或DataFrame.boxplot()来可视化每列中值的分布。

例如,这里是一个箱形图,表示对[0,1)上的统一随机变量的10次观察的五次试验。

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])

df.plot.box()

执行上面示例代码,得到以下结果 -

六、块型图

可以使用Series.plot.area()或DataFrame.plot.area()方法创建区域图形。

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])

df.plot.area()

执行上面示例代码,得到以下结果 -

七、散点图

可以使用DataFrame.plot.scatter()方法创建散点图。

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])

df.plot.scatter(x='a', y='b')

执行上面示例代码,得到以下结果 -

八、饼状图

饼状图可以使用DataFrame.plot.pie()方法创建。

import pandas as pd

import numpy as np

df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])

df.plot.pie(subplots=True)

执行上面示例代码,得到以下结果 -

以上这篇Python数据分析:手把手教你用Pandas生成可视化图表的教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python数据分析图_Python数据分析:手把手教你用Pandas生成可视化图表的教程相关推荐

  1. python数据生成可视化_Python数据分析:手把手教你用Pandas生成可视化图表

    大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事.但自从Python进入3.0时代以后, ...

  2. json 数据 生成 图表_Python数据分析:手把手教你用Pandas生成可视化图表

    一: Pandas是什么? Pandas是一个强大的分析结构化数据的工具集:它的使用基础是Numpy(提供高性能的矩阵运算):用于数据挖掘和数据分析,同时也提供数据清洗功能. 利器之一:DataFra ...

  3. Python数据分析:手把手教你用Pandas生成可视化图表

    大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事.但自从Python进入3.0时代以后, ...

  4. python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...

    原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...

  5. python数据分析软件_Python数据分析工具

    Numpy Python没有提供数组功能,虽然列表可以完成基本的数组功能,但他不是真正的数组.Numpy内置函数处理速度是c语言级别,因此尽量使用内置函数,避免出现效率瓶颈的现象. Numpy的安装: ...

  6. python数据预处理_Python数据分析——数据预处理的方法

    前言 1. 关于数据集 数据来源:日月光华老师的<Python数据分析从入门到机器学习>的 lianjia 数据. 数据概况: cjtaoshu:成交套数 mendian:门店 cjzon ...

  7. python数据统计_Python数据分析--Iris数据集实战

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 本次主要围绕Iris数据集进行一个简单的数据分析, 另外在数据的可视 ...

  8. 手把手教你使用ECharts绘制可视化图表

    1.在ECharts官网,下载ECharts的源码和示例文件. 2.解压缩下载下来的Echars压缩包,找到doc\example\www\echartsjs目录,将里面的js文件全部取出来,放到项目 ...

  9. 功能强大、文档健全的开源 Python 绘图库 Plotly,手把手教你用!

    公众号 "菜鸟学Python", 设为 "星标" 和30w+一起学Python! 译者:欧剃 https://towardsdatascience.com/th ...

最新文章

  1. SAP MM 采购申请单据ITEM数据里的Closed标记
  2. 呵护宝宝健康成长 飞鹤携手第四范式天枢打造精准智能推荐
  3. python3字符串操作_python3-字符串操作
  4. STM32的ADC采集的引脚汇总
  5. couchbase_具有Rx-Java的Couchbase Java SDK
  6. 两个网口芯片接一个变压器_关于以太网网络变压器的几个问题
  7. Windows按键翻译
  8. Apache实现一个IP配置多个站点
  9. p1口实验_「正点原子NANO STM32开发板资料连载」第二章 实验硬件资源详解
  10. 台式计算机显卡是哪个好,台式电脑显卡排行榜
  11. 【牛客】CPU的运算速度与许多因素有关,下面______是提高速度的有效措施?
  12. Java 水印操作的设计与实现
  13. Win10商店打开无法加载页面,代码0x80131500,解决办法
  14. 按Right-BICEP要求的对任务二的测试用例
  15. 华为海外15年,浮生一瞬间,我的退休告别贴
  16. 2019北京物联网智慧城市大数据博览会开启中国之路
  17. 【Unityc#专题篇】—基础章题单实践
  18. 解决xlrd不能打开xlsx表格以及打开失败问题
  19. 【翻译】Kinect v2程序设计(C++) Depth编
  20. python自定义函数实例 lite_python 函数小实例

热门文章

  1. CODEVS-3303-翻转区间
  2. 模型学习 - AE及一系列发展
  3. USACO 1.2 挤牛奶
  4. AtCoder AGC007E Shik and Travel (二分、DP、启发式合并)
  5. pip更换源 windows10_Conda及Pip换源处理
  6. Git复习(二)之远程仓库、注册GitHub账号、SSH警告、使用GitHub
  7. 如何用苹果手机生成扫描件
  8. 使用LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头无插件直播
  9. Tensorflow-gpu在windows系统下的安装及使用(使用Pycharm IDE)
  10. umask 和 新建文件、目录的默认权限