Numpy简单函数

ceil()函数 输入可为数组或单个浮点数,作用是对小数求整,求整方式为向上求整,例如ceil(1.3),结果为2。


random.permutation(x) 把一个数组打乱,即重新随机排列,输入的x可为一个整型也可为一个数组,若为整型的话,其效果等同于对arange(x)进行打乱,若是数组,则对元数组进行复制,然后再打乱,返回值为打乱后的ndarray,值得注意的是,如果输入的数组为多个维度,则只会对第一个维度进行随机,例子如下:

>>> np.random.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])

>>> np.random.permutation([1, 4, 9, 12, 15])
array([15,  1,  9,  4, 12])

>>> arr = np.arange(9).reshape((3, 3))
>>> np.random.permutation(arr)
array([[6, 7, 8],
       [0, 1, 2],
       [3, 4, 5]])

nonzero(x)
x为一个数组,返回其中非0或Ture的元素的坐标。

>>> x = np.array([[1,0,0], [0,2,0], [1,1,0]])
>>> x
array([[1, 0, 0],
       [0, 2, 0],
       [1, 1, 0]])
>>> np.nonzero(x)
(array([0, 1, 2, 2], dtype=int64), array([0, 1, 0, 1], dtype=int64))   #只要将这两个数组组合起来就是坐标了。

where(condition,x,y)
condition为条件,x,y为数组 ,condition的结果的shape、x的shape和y的shape都应该相同,或者能够扩展成相同的shape,condition的结果中为True的位置返回x,否则返回y。若没有x和y输入,则返回nonzero(condition)。

>>> np.where([[True, False], [True, True]],
...          [[1, 2], [3, 4]],
...          [[9, 8], [7, 6]])
array([[1, 8],
       [3, 4]])

>>> np.where([[0, 1], [1, 0]])
(array([0, 1]), array([1, 0]))
>>> x = np.arange(9.).reshape(3, 3)
>>> np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))
>>> x[np.where( x > 3.0 )]               # Note: result is 1D.
array([ 4.,  5.,  6.,  7.,  8.])
>>> np.where(x < 5, x, -1)               # Note: broadcasting.
array([[ 0.,  1.,  2.],
       [ 3.,  4., -1.],
       [-1., -1., -1.]])

array([[False, False, False],
       [ True,  True, False],
       [False,  True, False]], dtype=bool)
>>> np.where(ix)
(array([1, 1, 2]), array([0, 1, 1]))

expand_dims(a,aixs)
指定在哪个维度后增加一维,新增维的元素为1.

>>> x = np.array([1,2])
>>> x.shape
(2,)

The following is equivalent to x[np.newaxis,:] or x[np.newaxis]:

>>> y = np.expand_dims(x, axis=0)
>>> y
array([[1, 2]])
>>> y.shape
(1, 2)

>>> y = np.expand_dims(x, axis=1)  # Equivalent to x[:,newaxis]
>>> y
array([[1],
       [2]])
>>> y.shape
(2, 1)

std(x,axis=none)
求标准差,默认求全局标准差。

>>> a = np.array([[1, 2], [3, 4]])
>>> np.std(a)
1.1180339887498949
>>> np.std(a, axis=0)
array([ 1.,  1.])
>>> np.std(a, axis=1)
array([ 0.5,  0.5])

mean(x,axis=none)
求平均值,默认求全局平均值。

>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0)
array([ 2.,  3.])
>>> np.mean(a, axis=1)
array([ 1.5,  3.5])