数组操作
1 更改形状
numpy.ndarray.shape 表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。
numpy.ndarray.flat 将数组转换为一维的迭代器,可以用for访问数组每一个元素。
numpy.ndarray.flatten([order='C']) 将数组的副本转换为一维数组,并返回。
a. order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。(简记)
b. order:{'C / F,'A,K},可选使用此索引顺序读取a的元素。'C'意味着以行大的C风格顺序对元素进行索引,最后一个轴索引会更改F表示以列大的Fortran样式顺序索引元素,其中第一个索引变化最快,最后一个索引变化最快。请注意,'C'和'F'选项不考虑基础数组的内存布局,仅引用轴索引的顺序.A'表示如果a为Fortran,则以类似Fortran的索引顺序读取元素在内存中连续,否则类似C的顺序。“ K”表示按照步序在内存中的顺序读取元素,但步幅为负时反转数据除外。默认情况下,使用Cindex顺序。
flatten() 函数返回的是拷贝。
numpy.ravel(a, order='C') Return a contiguous flattened array. ravel() 返回的是视图。
numpy.reshape(a, newshape[, order='C']) 在不更改数据的情况下为数组赋予新的形状。 reshape() 函数当参数 newshape = [rows,-1] 时,将根据行数自动确定列数。
reshape() 函数当参数 newshape = -1 时,表示将数组降为一维。
2 数组转置
1. numpy.transpose(a, axes=None) Permute the dimensions of an array.
2. numpy.ndarray.T Same as self.transpose() , except that self is returned if self.ndim < 2 .
3 更改维度
当创建一个数组之后,还可以给它增加一个维度,这在矩阵计算中经常会用到。numpy.newaxis = None None 的别名,对索引数组很有用。
1. numpy.squeeze(a, axis=None) 从数组的形状中删除单维度条目,即把shape中为1的维度去掉。
a. a 表示输入的数组;
b. axis 用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错;
在机器学习和深度学习中,通常算法的结果是可以表示向量的数组(即包含两对或以上的方括号形式[[]]),如果直接利用这个数组进行画图可能显示界面为空(见后面的示例)。我们可以利用 squeeze() 函数将表示向量的数组转换为秩为1的数组,这样利用 matplotlib 库函数画图时,就可以正常的显示结果了
4 数组组合
如果要将两份数据组合到一起,就需要拼接操作。 numpy.concatenate((a1, a2, ...), axis=0, out=None)
numpy.stack(arrays, axis=0, out=None) 沿着新的轴加入一系列数组(stack为增加维度的拼接)。
1. numpy.vstack(tup)
2. numpy.hstack(tup)
hstack(),vstack() 分别表示水平和竖直的拼接方式。在数据维度等于1时,比较特殊。而当维度大于或等于2时,它们的作用相当于 concatenate ,用于在已有轴上进行操作。
5 数组拆分
numpy.split(ary, indices_or_sections, axis=0)
numpy.vsplit(ary, indices_or_sections) 垂直切分是把数组按照高度切分
numpy.hsplit(ary, indices_or_sections)水平切分是把数组按照宽度切分。
6 数组平铺
numpy.tile(A, reps) tile 是瓷砖的意思,顾名思义,这个函数就是把数组像瓷砖一样铺展开来。
numpy.repeat(a, repeats, axis=None) Repeat elements of an array.
a. axis=0 ,沿着y轴复制,实际上增加了行数。
b. axis=1 ,沿着x轴复制,实际上增加了列数。
c. repeats ,可以为一个数,也可以为一个矩阵。
d. axis=None 时就会flatten当前矩阵,实际上就是变成了一个行向量。
7 添加和删除元素
numpy.unique(ar, return_index=False, return_inverse=False,return_counts=False, axis=None) Find the unique elements of an array.
a. return_index:the indices of the input array that give the unique values
b. return_inverse:the indices of the unique array that reconstruct the input array
c. return_counts:the number of times each unique value comes up in the input array
数学函数
1 算数运算
1.1 numpy.add
1.2 numpy.subtract
1.3 numpy.multiply
1.4 numpy.divide
1.5 numpy.floor_divide
1.6 numpy.power
1.7 numpy.sqrt
1.8 numpy.square
2 三角函数
2.1 numpy.sin
2.2 numpy.cos
2.3 numpy.tan
2.4 numpy.arcsin
2.5 numpy.arccos
2.6 numpy.arctan
3 指数和对数
3.1 numpy.exp
3.2 numpy.log
3.3 numpy.exp2
3.4 numpy.log2
3.5 numpy.log10
4 加法函数、乘法函数
4.1 numpy.sum
4.2 numpy.cumsum
4.3 numpy.prod 乘积
4.4 numpy.cumprod 累乘
4.5 numpy.diff 差值
5 四舍五入
5.1 numpy.around 舍入
5.2 numpy.ceil 上限
5.3 numpy.floor 下限
6 杂项
6.1 numpy.clip 裁剪
6.2 numpy.absolute 绝对值
6.3 numpy.abs
6.4 numpy.sign 返回数字符号的逐元素指示
逻辑函数
1 真值测试
.1.1 numpy.all
1.2 numpy.any
2 数组内容
2.1 numpy.isnan
3 逻辑运算
3.1 numpy.logical_not
3.2 numpy.logical_and
3.3 numpy.logical_or
3.4 numpy.logical_xor









网友评论