数组与函数

2020-10-27  本文已影响0人  58506fd3fbed

 数组操作

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

上一篇 下一篇

猜你喜欢

热点阅读