numpy 的一些数组操作方法

numpy 的一些数组操作方法

import numpy as np

1、random

用法:产生伪随机数 
样例: 
np.random.seed(0) //产生以0为种子的伪随机数生成器 
order_arr = np.random.permutation(100) //返回100个伪随机数,返回值是一个array

2、mgrid

用法:返回多维结构,常见的如2D图形,3D图形。对比np.meshgrid,在处理大数据时速度更快,且能处理多维(np.meshgrid只能处理2维) 
ret = np.mgrid[ 第1维,第2维 ,第3维 , …] 
返回多值,以多个矩阵的形式返回,第1返回值为第1维数据在最终结构中的分布,第2返回值为第2维数据在最终结构中的分布,以此类推。(分布以矩阵形式呈现) 
例如np.mgrid[X , Y] 
样本(i,j)的坐标为 (X[i,j] ,Y[i,j]),X代表第1维,Y代表第2维,在此例中分别为横纵坐标。

例如1D结构(array),如下:

>>> pp = np.mgrid[-5:5:5j]
>>> pp
array([-5. , -2.5,  0. ,  2.5,  5. ])
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

例如2D结构 (2D矩阵),如下:

>>> pp = np.mgrid[-1:1:2j,-2:2:3j]
>>> x , y = pp
>>> x
array([[-1., -1., -1.],[ 1.,  1.,  1.]])
>>> y 
array([[-2.,  0.,  2.],[-2.,  0.,  2.]])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

例如3D结构 (3D立方体),如下:

>>> pp = np.mgrid[-1:1:2j,-2:2:3j,-3:3:5j]
>>> print pp
[[[[-1.  -1.  -1.  -1.  -1. ][-1.  -1.  -1.  -1.  -1. ][-1.  -1.  -1.  -1.  -1. ]][[ 1.   1.   1.   1.   1. ][ 1.   1.   1.   1.   1. ][ 1.   1.   1.   1.   1. ]]][[[-2.  -2.  -2.  -2.  -2. ][ 0.   0.   0.   0.   0. ][ 2.   2.   2.   2.   2. ]][[-2.  -2.  -2.  -2.  -2. ][ 0.   0.   0.   0.   0. ][ 2.   2.   2.   2.   2. ]]][[[-3.  -1.5  0.   1.5  3. ][-3.  -1.5  0.   1.5  3. ][-3.  -1.5  0.   1.5  3. ]][[-3.  -1.5  0.   1.5  3. ][-3.  -1.5  0.   1.5  3. ][-3.  -1.5  0.   1.5  3. ]]]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
3、np.r_ , np.c_

用法:concatenation function 
np.r_按row来组合array, 
np.c_按colunm来组合array

>>> a = np.array([1,2,3])
>>> b = np.array([5,2,5])
>>> //测试 np.r_
>>> np.r_[a,b]
array([1, 2, 3, 5, 2, 5])
>>> 
>>> //测试 np.c_
>>> np.c_[a,b]
array([[1, 5],[2, 2],[3, 5]])
>>> np.c_[a,[0,0,0],b]
array([[1, 0, 5],[2, 0, 2],[3, 0, 5]])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15