概述
常见属性 :dtype 查看数组元素类型和shape 查看数组尺寸
常见方法 :astype 用于转换数组元素的类型和reshape 用于转换数组尺寸
核心概念:轴 。一维就只有0轴;二维行的增长方向是0轴,列的增长方向是1轴;三维,层的增长方向是0轴,行的增长方向是1轴,列的增长方向是2轴。 理解 :这个三维矩阵打印出来,两个空格隔开了三层。每一层相当于一个二维数组,自上而下是行增长的方向,自左而右是列增长的方向。 例子:各种求和
广播和矢量化 :numpy数组想要给数组全部元素+1的话就是直接a+1就可以了;两个形状相同的数组相加就是直接a+b就好了。
创建数组
蛮力构造 :直接np.array() ,核心参数就是数据object 和类型dtype
特殊矩阵 :zeros 函数生成0矩阵 、ones 函数生成1矩阵、empty 函数生成随机元素的矩阵 、eye 函数生成对角矩阵和fill 函数对所有矩阵元素进行填充
随机数值 :random 函数生成[0,1)的元素 、randomint 函数生成[low,high)之间的整数元素和normal 函数生成正态分布的数据 定长分割:arange 函数和linspace 函数都用于生成一个序列 重复构造 :repeat 函数用于重复数组元素 和tile 函数用于重复数组
操作数组
注:切片返回的数组不是复制,而是指向与原数组相同的内存的 一维数组的索引与切片 :与list一样 多维数组的索引与切片 : 改变数组结构 :reshape 函数、resize 函数将数组变为指定结构 、ravel 函数将多维数组一维化和transpose 函数和’t’函数一样,都是对矩阵进行转置。 注 :resize 函数是会改变原数组的,其余函数都是返回一个对应的视图。 数组合并 :numpy的数组创建之后就不能改变元素数量了,因此想要动态改变元素数目就只能使用合并或者拆分这种方式。 numpy中也保留了append函数 ,但是这个方法是numpy的了,不是数组的,并且他的效果是合并两个数组。
最常用的还是stack函数 及其兄弟hstake函数 水平合并、vstack函数 垂直合并、dstack函数 深度合并 stack函数 才是YYDS,毕竟用的多的是tensor,将两个shape相同的数组在i轴进行合并,这里是四个轴0,1,2,3 数组拆分 :不常用,还不如切片方便 排序 :sort函数 返回输入数组的排序副本、argsort函数 返回数组值从小到大的索引号 他们的参数都一样,第一个是待排序数组,第二个axis是排序的轴,默认是最后一轴。别的都不常用。
查找
最大值和最小值查找 :argmax函数 、argmin函数 返回数组中最大值和最小值的索引,如果是多维数组,这个索引就是数组转换成以一维之后的索引 非零元素查找 :nonzero函数 返回描述位置信息的元组 使用逻辑表达式查找 :返回同样shape的bool数组 条件查询 :where 。对于一维数组返回满足条件的元素索引,对于多维数组,返回满足条件的元素在k轴上的索引号。也就是n维数组,返回n个元组,每个元组代表着满足条件的元素对应维度上的索引。 筛选 :where函数 返回索引元组、逻辑表达式 返回bool数组、整形数组
常用函数
重要常量 :nan 与inf 常用数学函数 : 统计函数 :注意有些方法处理nan是会出问题的 插值函数 :一维插值函数interp函数 ,假设原来有了数据_x和_y,现在新产生了数据x,使用interp函数就可以得到对应的y了
掩码数组
用于处理缺失值和nan
矩阵
随机抽样
随机数 : 随机抽样 :
正态分布 :
|