美文网首页科技
python计算基础

python计算基础

作者: 郭少悲 | 来源:发表于2017-06-26 16:25 被阅读6次

    Python的科学计算包 - Numpy

    numpy(Numerical Python extensions)是一个第三方的Python包,用于科学计算。这个库的前身是1995年就开始开发的一个用于数组运算的库。经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括所有提供Python接口的深度学习框架。

    基本类型(array)

    rray,也就是数组,是numpy中最基础的数据结构,最关键的属性是维度和元素类型,在numpy中,可以非常方便地创建各种不同类型的多维数组,并且执行一些基本基本操作。

    import numpy as np
    
    a = [1, 2, 3, 4]        #
    b = np.array(a)             # array([1, 2, 3, 4])
    type(b)                     # <type 'numpy.ndarray'>
    
    b.shape                     # (4,)
    b.argmax()                  # 3
    b.max()                     # 4
    b.mean()                    # 2.5
    
    c = [[1, 2], [3, 4]]    # 二维列表
    d = np.array(c)             # 二维numpy数组
    d.shape                     # (2, 2)
    d.size                      # 4
    d.max(axis=0)               # array([3, 4])
    d.max(axis=1)               # array([2, 4])
    d.mean(axis=0)              # array([ 2.,  3.])
    d.flatten()                 # 展开一个numpy数组为1维数组,array([1, 2, 3, 4])
    np.ravel(c)               # 展开一个可以解析的结构为1维数组,array([1, 2, 3, 4])
    
    # 3x3的浮点型2维数组,并且初始化所有元素值为1
    e = np.ones((3, 3), dtype=np.float)
    
    # 创建一个一维数组,元素值是把3重复4次,array([3, 3, 3, 3])
    f = np.repeat(3, 4)
    
    # 2x2x3的无符号8位整型3维数组,并且初始化所有元素值为0
    g = np.zeros((2, 2, 3), dtype=np.uint8)
    g.shape                    # (2, 2, 3)
    h = g.astype(np.float)  # 用另一种类型表示
    
    l = np.arange(10)       # 类似range,array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    m = np.linspace(0, 6, 5)# 等差数列,0到6之间5个取值,array([ 0., 1.5, 3., 4.5, 6.])
    
    p = np.array(
        [[1, 2, 3, 4],
         [5, 6, 7, 8]]
    )
    
    np.save('p.npy', p)     # 保存到文件
    q = np.load('p.npy')    # 从文件读取
    

    注意到在导入numpy的时候,我们将np作为numpy的别名。这是一种习惯性的用法。
    **
    axis的理解:
    如果将三维数组的每一个二维看做一个平面(plane,X[0, :, :], X[1, :, :], X[2, :, :]),三维数组即是这些二维平面层叠(stacked)出来的结果。则(axis=0)表示全部平面上的对应位置,(axis=1),每一个平面的每一列,(axis=2),每一个平面的每一行。
    **

    Python的可视化包 – Matplotlib

    Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表。Matplotlib最早是为了可视化癫痫病人的脑皮层电图相关的信号而研发,因为在函数的设计上参考了MATLAB,所以叫做Matplotlib。Matplotlib首次发表于2007年,在开源和社区的推动下,现在在基于Python的各个科学计算领域都得到了广泛应用。Matplotlib的原作者John D. Hunter博士是一名神经生物学家,2012年不幸因癌症去世,感谢他创建了这样一个伟大的库。

    Matplotlib中最基础的模块是pyplot。

    Matplotlib中也能支持一些基础的3D图表,比如曲面图,散点图和柱状图。这些3D图表需要使用mpl_toolkits模块。

    相关文章

      网友评论

        本文标题:python计算基础

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