美文网首页Data sciencePython 原生爬虫教程
16《Python 原生爬虫教程》数据可视化

16《Python 原生爬虫教程》数据可视化

作者: 木子教程 | 来源:发表于2022-03-07 19:13 被阅读0次

    在我们开始的我们的可视化的之旅之前,需要简单的介绍一些数据分析工具,我们的数据可视化的任务也是建立在数据分析的基础之上。Python 的主要数据分析工具如下所示:

    • Numpy:这个是数据计算的工具,主要用来进行矩阵的运算,矢量运算等等。
    • Scipy:科学计算函数库,主要用在学术领域,主要包含线性代数模块,信号与图像处理模块,统计学模块等等。
    • Sympy:数学符号计算库
    • Pandas:包含了 numpy 的各种功能,并提供了更加强大的函数,以及更加丰富的数据模型。
      Pandas的主要数据结构为 Series 和 DataFrame。
      • Series 可以当作是一般的数组,区别就是Series数组有索引的性质,这个和普通的数组十分不同。我们可以通过series.index来获取index的值。
      • DataFrame 可以把它想像成数据的表格的概念,它是把一个或者多个Series按照逻辑合并后的二维数据结构。

    接下来让我们开始我们数据可视化之旅吧。

    首选,我们来画一张最基本的直方图。

    from matplotlib import pyplot //引入matplotlib库进行绘制图形
    import numpy as np  //引入numpy,来生成随机数
    x = np.arage(12)
    y = np.random.rand(12)
    labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec]
    pyplot.bar(x,y, color='red', tick_label=labels)  //绘制条形图
    pyplot.title('first chart')
    plot.show()
    
    
    00831rSTgy1gcic2w1j1dj30hs0dcdfp.jpg

    上面这幅是条形图,我们可以看到 x 轴是月份,总共分为 12 个月,纵轴则是每个月的数值在 0-1 之间的值。

    x = np.random.randn(800)
    pyplot.hist(x,150)   //绘制直方图
    pyplot.title('second chart')
    pyplot.show()
    
    
    00831rSTgy1gcidh9hagzj30hs0dcaap.jpg

    上面这幅是直方图,默认的为蓝色,数据在我们取随机数之后,基本上是呈现一个对称分布的情况。

    from mpl_toolkits.mplot3d import Axes3D   //引入三维图形包
    
    pic = pyplot.figure()
    ax = Axes3D(pic)
    x = np.arange(-1, 3, 0.3)  //x轴取值范围
    y = np.arange(-1, 3, 0.3   //y轴取值范围
    a, b = np.meshgrid(x,y)    //绘制二维图形
    c = a**2 + b **2
    ax.plot_surface(a,b,c, cmap= pyplot.get_cmap('rainbow')) //绘制三维图
    ax.set_zlim(-1, 10)
    pyplot.title('last chart')
    pyplot.show()
    
    

    除了简单的二维图形,同样,matplotlib 也可以很轻松的绘制三维图形,上面的代码就是我们绘制三位图形的简单版本,效果如下所示:

    00831rSTgy1gcidh9hagzj30hs0dcaap.jpg

    总结

    爬虫只是我们获取数据的第一步,我们最终的目的是要让数据服务于人类,因此,我们需要Numpy,Pandas 等数据分析工具分析数据,然后使用 matplotlib 工具来绘制可视化图形,从而让我们的数据更加生动,更加被一般用户所理解和使用。

    相关文章

      网友评论

        本文标题:16《Python 原生爬虫教程》数据可视化

        本文链接:https://www.haomeiwen.com/subject/ajbnrrtx.html