• NumPy笔记-ndarray


    ndarray,N维数组对象(矩阵)

    • 所有元素必须是相同类型
    • ndim属性,维度个数
    • shape属性,各维度大小
    • dtype属性,数据类型

    创建ndarray  

    • np.array(collection),collection为序列对象(list),嵌套序列(list of list)
    • np.zeros,np.ones,np.empty指定大小的全0或全1数组

          注意:第一个参数是元组,用来指定大小,如(3,4),第二个参数是数据类型

          empty不是总是返回全0,有时返回的是末初始的随机值

    如:

    np.zeros((3,4))   #3行4列  数值全为0的数组,里面的参数是元组 (3,4)

    np.empty((3,3))  #3行3列,随机数组成的数组

    np.empty((3,3),int)  #ndarray 第一个元组(3,3)  第二个参数是数据类型 int

    创建ndarray  

    np.arange()类似range() 注意是arange,不是英文的arrange

    ndarray数据类型

    • dtype,类型名+位数,如float64,int32
    • 转换数组类型 astype

    import numpy as np
    zeros_float_arr = np.zeros((3,4),dtype = np.float64)
    print(zeros_float_arr)
    print(zeros_float_arr.dtype)

    zeros_int_arr = zeros_float_arr.astype(np.int32)
    print(zeros_int_arr)
    print(zeros_int_arr.dtype)

    矢量化

    • 矢量运算,相同大小的数组健间的运算应用在元素上
    • 适量和标量运算,"广播"-将标量"广播"到各个元素

           矢量与矢量运算

           arr = np.array([[1,2,3],

              [4,5,6]])

        

    矢量与标量运算

    print(1./arr)

    print(2*arr)

    索引与切片

    • 一维数组的索引与python的列表索引功能类似
    • 多维数组的索引

    arr(r1:r2,c1:c2]

    arr[1,1]等价arr[1][1]

    [:]代表某个维度的数据

    如:[r1:,c1:] 从开始到所有

    arr[:,1:3]  二维数组的所有行和第1第2两列

    条件索引

    • 布尔值多维数组 arr[condition] condition可以是多个条件组合
    • 注意,多个条件组合要使用& | ,而不是and or   

       

    维数转换

    • 转置transpose
    • 高维数组转置要指定维度编号(0,1,2,....)

    通用函数

    • 元素级运算

    常用的通用函数

    • ceil,向上最接近的整数
    • floor,向下最接近的整数
    • rint,四舍五入
    • isnan,判断元素是否为 NaN(Not a Number)
    • multiply,元素相乘
    • divide,元素相除

    np.where 

    • 矢量版本的三元表达式 x if condition else y
    • np.where(condition,x,y)   满足条件输出x,不满足条件输出y
    • 如:

     

     跟np.rint差不多

    np.rint不会改变原数组的数值类型,如果需要,如可以用 arr.astype(np.int32)

    常用的统计方法

    • np.mean,np.sum
    • np.max,np.min
    • np.std,np.var
    • np.argmax,np.argmin
    • np.cumsum,np.cumprod
    • 注意多维的要指定统计的维度,否则默认是全部维度上做统计.

    np.any  判断是否数组里面任一值某一条件,如果有满足的,则为True,如果都不满足则为False

    np.all    判断是否数组里面所有的值都满足某一条件,如果满足则为True,否则则为False

    np.unique  找到唯一值并返回排序结果了 如下:

  • 相关阅读:
    linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
    Linux 删除文件夹和创建文件的命令
    linux下拷贝整个目录
    星云大师:这十句话 我受用一生
    dex
    瘋耔java语言笔记
    VCC_VID_VTT等的含义
    一位数码管引脚
    android从应用到驱动之—camera(2)---cameraHAL的实现
    android从应用到驱动之—camera(1)---程序调用流程[转]
  • 原文地址:https://www.cnblogs.com/tinglele527/p/13448013.html
Copyright © 2020-2023  润新知