NumPy初步使用

作者: 忽如寄 | 来源:发表于2018-06-16 01:55 被阅读40次

    创建ndarray对象:

    
    import numpy as np
    
    np.array([1,2,3,4])
    np.array([[1,2,3,4],[5,6,7,8]])
    
    

    转换为list

    
    np.array([1,2,3,4]).tolist()
    
    

    获取ndarray对象的基本信息:维数(ndim)、行列信息(shape)、数据存储类型(dtype)

    
    arr = np.array([[1,2,3,4],[5,6,7,8]])
    
    print(arr.ndim)
    
    print(arr.shape)
    
    print(arr.dtype)
    
    

    设置数据存储类型

    
    np.array([1,2,3,4], dtype=np.int32)
    
    np.arrat([1.2,1.3,1.4], dtype=np.float64)
    
    

    创建特殊ndarray对象:全0(zeros)、全1(ones)、随机值(empty),参数是形状

    
    np.zeros(8)
    
    np.ones((2,3))
    
    np.empty((3,4))
    
    

    指定范围创建ndarray对象(arange)

    
    arr1 = np.arange(1,8,2)
    
    # [1 3 5 7]
    
    

    创建网格数据(linspace)

    
    np.linspace(0, 80, 5)
    
    # [0 20 40 60 80]
    
    

    修改形状(reshape)

    
    np.arange(0,12).reshape((3,4))
    
    # [[ 0,  1,  2,  3],
    #  [ 4,  5,  6,  7],
    #  [ 8,  9, 10, 11]]
    
    

    展平,转化为一维数组(flatten)

    
    a = np.arange(12).shape(3,4)
    
    a.flatten()
    
    

    矩阵转置(transpose)

    
    a = np.arange(12).reshape(3,4)
    
    a.transpose()
    
    # 等同于
    
    a.T
    
    

    数学运算(+ - * / )、点乘(矩阵乘法)、三角函数

    
    a = np.arange(12).reshape(3,4)
    
    b = np.arange(12).reshape(4,3)
    
    a + 1
    
    a + b 
    
    a - 1
    
    a - b
    
    a * 2
    
    a * b
    
    a / 2
    
    a / b
    
    # 平方
    arr ** 2
    
    # 点乘
    np.dot(a, b)
    a.dot(b)
    
    
    np.sin(a)
    
    

    深浅复制,赋值操作为浅复制,使用clone方法深复制:

    
    a = np.arange(12)
    
    b = a
    
    c = a.clone()
    
    

    相关文章

      网友评论

        本文标题:NumPy初步使用

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