zoukankan      html  css  js  c++  java
  • Python 关于数组矩阵变换函数numpy.nonzero(),numpy.multiply()用法

    1.numpy.nonzero(condition),返回参数condition(为数组或者矩阵)中非0元素的索引所形成的ndarray数组,同时也可以返回condition中布尔值为True的值索引,其中,数值0为False,其余的都为True。

     1 >>>b=np.mat(np.arange(10)).T
     2 >>>b
     3 matrix([[0],
     4         [1],
     5         [2],
     6         [3],
     7         [4],
     8         [5],
     9         [6],
    10         [7],
    11         [8],
    12         [9]])
    13 >>>np.nonzero(b>2)
    14 (array([3, 4, 5, 6, 7, 8, 9], dtype=int64),
    15  array([0, 0, 0, 0, 0, 0, 0], dtype=int64))
    16 >>>np.nonzero((b.A>2)*(b.A<8))
    17  (array([3, 4, 5, 6, 7], dtype=int64), array([0, 0, 0, 0, 0], dtype=int64))
     1 >>> x = np.eye(3)
     2 >>> x
     3 array([[ 1.,  0.,  0.],
     4        [ 0.,  1.,  0.],
     5        [ 0.,  0.,  1.]])
     6 >>> np.nonzero(x)
     7 (array([0, 1, 2]), array([0, 1, 2]))
     8 >>>
     9 >>> x[np.nonzero(x)]
    10 array([ 1.,  1.,  1.])
    11 >>> np.transpose(np.nonzero(x))
    12 array([[0, 0],
    13        [1, 1],
    14        [2, 2]]

    其中np.nonzero((b.A>2)*(b.A<8))是返回数组b的值在范围2<b<8的索引。并且必须要求参数时数组,如果是矩阵会报错。

    A common use for nonzero is to find the indices of an array, where a condition is True. Given an array a, the condition a > 3 is a boolean array and since False is interpreted as 0, np.nonzero(a > 3) yields the indices of the a where the condition is true.这个功能和numpy.where()的一种用法一样。

    >>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
    >>> a > 3
    array([[False, False, False],
           [ True,  True,  True],
           [ True,  True,  True]], dtype=bool)
    >>> np.nonzero(a > 3)
    (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2]))
    

      

    2numpy.multiply(x1,x2)

    对参数的元素进行相乘

    参数:

    x1, x2 : array,matrix

    数组按位置相乘

    返回值:

    y : ndarray

    对x1和x2的参数的元素进行相乘,如果是个标量则返回值是标量

    1 >>> np.multiply(2.0, 4.0)
    2 8.0
    3 >>>
    4 >>> x1 = np.arange(9.0).reshape((3, 3))
    5 >>> x2 = np.arange(3.0)
    6 >>> np.multiply(x1, x2)
    7 array([[  0.,   1.,   4.],
    8        [  0.,   4.,  10.],
    9        [  0.,   7.,  16.]])
  • 相关阅读:
    mongo相关
    grafana相关
    问题与解决
    蓝鲸社区版6.0填坑指南
    go环境
    docker相关
    gitlab相关
    LRU(Least recently used,最近最少使用)
    LRU:最近最久未使用
    学习大神笔记之 “MyBatis学习总结(一)”
  • 原文地址:https://www.cnblogs.com/zz22--/p/8666713.html
Copyright © 2011-2022 走看看