numpy基础知识归纳

作者: Chad你要加油 | 来源:发表于2019-03-25 22:39 被阅读14次

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

    NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
    • 一个强大的N维数组对象 ndarray
    • 广播功能函数
    • 整合 C/C++/Fortran 代码的工具
    • 线性代数、傅里叶变换、随机数生成等功能

    numpy 的属性:

    • ndim:维度
    • shape:行数和列数
    • size:元素个数

    Numpy 的创建 array

    • array:创建数组
    • dtype:指定数据类型
    • zeros:创建数据全为0
    • ones:创建数据全为1
    • empty:创建数据接近0
    • arrange:按指定范围创建数据
    • linspace:创建线段
      `

    创建一个数组

    a = np.array([1,26,8]) # list 1d
    print(a)

    [1 26 8]

    指定数据 dtype

    a = np.array([1,26,8],dtype=np.int32)
    print(a.dtype)

    int32

    `

    Numpy 基础运算 (讲两种)

    算术运算符

    `
    a = np.arange(0,5)
    array([0, 1, 2, 3, 4])

    a+4
    array([4, 5, 6, 7, 8])
    `
    最简单的就是给数组加上一个标量,然后每个都元素都加上这个标量,当然也可以减乘除。

    这些运算符还可以用于两个数组的运算。在numpy中这些运算符是元素级的,即只用于位置相同的元素。


    此外,这些运算符还适用于返回值为numpy数值的函数

    聚合函数

    聚合函数是指对一组值(比如一个数组)进行操作,返回一个单一值作为结果的函数。比如求数组所有元素之和就是聚合函数。
    a
    array([1, 2, 3, 4, 5])
    
    a.sum()
    15
    

    Numpy array 合并

    Python中numpy数组的合并有很多方法,如
    • np.append()
    • np.concatenate()
    • np.stack()
    • np.hstack()
    • np.vstack()
    • np.dstack()
      其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。

    Numpy array 分割

    分割方法有:

    1. 水平分割
    2. 垂直分割
    3. 深度分割

    水平分割

    下面的代码将把数组沿着水平方向分割为3个相同大小的子数组:
    b = hsplit(a,3) print(b)
    得到结果为:
    [array([[0], [3], [6]]), array([[1], [4], [7]]), array([[2], [5], [8]])]

    垂直分割

    下面的代码将把数组沿着垂直方向分割为3个相同大小的子数组:
    b = vsplit(a,3) print(b)
    得到结果为:
    [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]

    深度分割

    先创建一个三维数组:
    a = arange(27).reshape(3,3,3) print(a)
    调用dsplit函数按深度方向分割数组
    b = dsplit(a,3) print(b)
    得到结果
    `
    [array([[[ 0],
    [ 3],
    [ 6]],

       [[ 9],
        [12],
        [15]],
    
       [[18],
        [21],
        [24]]]),
    

    array([[[ 1],
    [ 4],
    [ 7]],

       [[10],
        [13],
        [16]],
    
       [[19],
        [22],
        [25]]]),
    

    array([[[ 2],
    [ 5],
    [ 8]],

       [[11],
        [14],
        [17]],
    
       [[20],
        [23],
        [26]]])]
    

    `

    Numpy copy & deep copy

    简单了解
    numpy关于copy有三种情况,完全不复制、视图(view)或者叫浅复制(shallow copy)和深复制(deep copy)。

    添加公众号【数据蛙DataFrog】,我们一起学习交流

    相关文章

      网友评论

        本文标题:numpy基础知识归纳

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