• numpy、scipy、pandas、matplotlib的读书报告:(第七周作业)


     numpy、scipy、pandas、matplotlib的读书报告:

    Numpy:

    来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。

    Pandas:

    基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的Series,二维的DataFrame(类似于Excel或者SQL中的表,如果深入学习,会发现Pandas和SQL相似的地方很多,例如merge函数),三维的Panel(Pan(el) + da(ta) + s,知道名字的由来了吧)。

    学习Pandas你要掌握的是:
    1.汇总和计算描述统计,处理缺失数据 ,层次化索引
    2.清理、转换、合并、重塑、GroupBy技术
    3.日期和时间数据类型及工具(日期处理方便地飞起)

    Matplotlib:

    Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。
    绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。

    需要掌握的是:
    1.散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
    2.绘图的三大系统:pyplot,pylab(不推荐),面向对象
    3.坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用
    4.金融的同学注意的是:可以直接调用Yahoo财经数据绘图

    Scipy:

    方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等。基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。

    解决一些具体问题(Pandas)

    import pandas as pda
        # 使用pandas生成数据
        # Series代表某一串数据 index指定行索引名称,Series索引默认从零开始
        # DataFrame代表行列整合出来的数据框,columns 指定列名
        a = pda.Series([8, 9, 2, 1], index=['one', 'two', 'three', 'four'])
        # 以列表的格式创建数据框
        b = pda.DataFrame([[5,6,2,3],[3,5,1,4],[7,9,3,5]], columns=['one', 'two', 'three', 'four'],index=['one', 'two', 'three'])
        # 以字典的格式创建数据框
        c = pda.DataFrame({
            'one':4, # 会自动补全
            'two':[6,2,3],
            'three':list(str(982))
        })
        # b.head(行数)# 默认取前5行头
        # b.tail(行数)# 默认取后5行尾
        # b.describe() 统计数据的情况  count mean std min 25% max
        e = b.head()
        f = b.describe()
        # 数据的转置,及行变成列,列变成行
        g = b.T

    Matplotlib图像处理

    import matplotlib.pyplot as plt
    import numpy as np
    # 生成测试数据
    x = np.linspace(-3, 3, 50)
    y1 = 2*x + 1
    y2 = x**2
    # 生成画布
    plt.figure(facecolor='grey')
    
    # figure()中的属性
    '''
    **num=3**
        画出来图的标题就是‘Figure 3’
        如果传一个str,eg.    num='折线图'   图的标题就是‘折线图’
    
    **figsize=(8, 4)**
        指定绘图对象的宽度和高度,单位为英寸,一英寸=80px
        
    **facecolor='blue'**
        背景颜色,默认是白色
        也可以以‘#+6位16进制数’给出,eg.   '#00ff00'
        
    **edgecolor='red'**
        边框颜色,默认是白色
    '''
    # 画图
    plt.plot(x, y1, linestyle='--')
    plt.plot(x, y2)
    
    # plot的属性
    '''
    **linewidth=3**
        线条宽度
        也可以写作   lw=3
    
    **markersize='20'**
        线上标记的尺寸
        注意要传字符串类型的值
    
    **marker='2'**
        线上的标记
        =============    ===============================
        character        description
        =============    ===============================
        ``'.'``          point marker
        ``','``          pixel marker
        ``'o'``          circle marker
        ``'v'``          triangle_down marker
        ``'^'``          triangle_up marker
        ``'<'``          triangle_left marker
        ``'>'``          triangle_right marker
        ``'1'``          tri_down marker
        ``'2'``          tri_up marker
        ``'3'``          tri_left marker
        ``'4'``          tri_right marker
        ``'s'``          square marker
        ``'p'``          pentagon marker
        ``'*'``          star marker
        ``'h'``          hexagon1 marker
        ``'H'``          hexagon2 marker
        ``'+'``          plus marker
        ``'x'``          x marker
        ``'D'``          diamond marker
        ``'d'``          thin_diamond marker
        ``'|'``          vline marker
        ``'_'``          hline marker
        =============    ===============================
    
    **linestyle=':'**
        线的类型
        =============    ===============================
        character        description
        =============    ===============================
        ``'-'``          solid line style
        ``'--'``         dashed line style
        ``'-.'``         dash-dot line style
        ``':'``          dotted line style
        =============    =============================== 
        也可表示为linestyle='dashed'   
    
    **colors='r'**
    
        The supported color abbreviations are the single letter codes
    
        =============    ===============================
        character        color
        =============    ===============================
        ``'b'``          blue
        ``'g'``          green
        ``'r'``          red
        ``'c'``          cyan
        ``'m'``          magenta
        ``'y'``          yellow
        ``'k'``          black
        ``'w'``          white
        =============    ===============================
        也可用'#ff0000'这种形式表示
    '''
    # 必须要有这一句画图才能显示
    plt.show()
  • 相关阅读:
    More on wrapper types
    使用Solr索引MySQL数据
    Java线程池
    Jedis-returnResource使用注意事项
    sh脚本异常,binsh^M bad interpreter No such file or directory
    Java集合类从属关系
    SonarQube+Jenkins,搭建持续交付平台
    初始化块和静态初始化块的区别
    从SonarQube谈设计模式
    Github+Hexo,搭建专属网站
  • 原文地址:https://www.cnblogs.com/20200508zp/p/14022113.html
Copyright © 2020-2023  润新知