返回非0元素的索引
如果是二维矩阵的话,返回两个数组。第一个数组包含矩阵非0元素按从左到右从上到下在行上的索引,第二个数组包含矩阵非0元素按从左到右从上到下在列上的索引
返回矩阵展开在一维下的元祖
返回元祖x按升序排列的索引值,默认为按照从小到大排列
numpy.argsort(-x)
回元祖x按降序排列的索引值
np.fill_diagonal(a, 5)
将矩阵a对角元素设置为5
矩阵对应位置元素相乘
>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = np.arange(3.0)
>>> np.multiply(x1, x2)
array([[ 0., 1., 4.],
[ 0., 4., 10.],
[ 0., 7., 16.]])
求两个数组的交集
>>> np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1])
array([1, 3])
要求交集的数组多于两个, 可使用functools.reduce:
>>> from functools import reduce
>>> reduce(np.intersect1d, ([1, 3, 4, 3], [3, 1, 2, 1], [6, 3, 4, 2]))
array([3])
找到矩阵中满足给定条件的元素的索引
>>> 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 )] # 返回大于3的值.
array([ 4., 5., 6., 7., 8.])
>>> np.where( x == 3.0 ) # 返回等于3的值的索引.
(array([1], dtype=int64), array([0], dtype=int64))
返回与给定数据具有同样大小和类型的数据,并且初始化为0,同理还有ones_like(),zeros_like()
>>> x = np.array([[1., 2., 3.],[4.,5.,6.]])
>>> np.empyt_like( x )
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
>>> x = np.array([[1., 2., 3.],[4.,5.,6.]])
>>> np.ones_like( x )
array([[ 1., 1., 1.],
[ 1., 1., 1.]])
返回与给定数据具有同样值但不同结构的数据
>>> x = np.array([[1., 2., 3.],[4.,5.,6.]])
>>> x
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
>>> np.reshape(x,(3,2))
array([[ 1., 2.],
[ 3., 4.],
[ 5., 6.]])
返回从low到high之间的随机整数
>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
[3, 2, 2, 0]])
>>> y_train = np.random.randint(2, size=(10, 1))
>>> y_train
array([[0],
[1],
[0],
[0],
[0],
[1],
[0],
[0],
[1],
[0]])
返回在半开区间[0.0, 1.0)之间的随机浮点数数
>>> np.random.random_sample()
0.43394098360117983
>>> x_train = np.random.random((1000, 2))
>>> x_train
array([[ 0.64316127, 0.33500098],
[ 0.69310311, 0.22020709],
[ 0.53413892, 0.60285074],
...,
[ 0.73776484, 0.02222155],
[ 0.4160632 , 0.71319213],
[ 0.83366365, 0.56880872]])
返回一个连续的扁平数组
>>> x = np.array([[1, 2, 3], [4, 5, 6]])
>>> print(np.ravel(x))
[1 2 3 4 5 6]
numpy.ravel( )与numpy.reshape(-1, order=order)结果相同
>>> print(x.reshape(-1))
[1 2 3 4 5 6]
>>> print(np.ravel(x, order='F'))
[1 4 2 5 3 6]