nonzeros函数,python nonzero()[0]

  nonzeros函数,python nonzero()[0]

  当jmdkn数组直接作为下标对象或者元组下标对象中有jmdkn数组时,相当于把jmdkn数组转换成一组非零()的整数数组,然后用整数数组进行下标操作。

  # # #函数的函数

  非零(A)返回数组A中非零元素的下标,它的返回值是一个长度为a.ndim(数组A的轴数)的元组。元组的每个元素都是一个整数数组,它的值是对应轴上非零元素的下标的值。

  Class: def _ _非零_ _ (self): print a. _非零_ _()返回true print a不为零 if a () else a为零 print bool (a ()) * *输入值:* *数组或矩阵

  返回输入值中非零元素的信息(以矩阵的形式)

  这些信息包括两个矩阵,包括相应维度中非零元素的行标签和列标签。

  例如:a=mat ([[1,0,0],[0,0,0],[0,0,0]])

  然后非零(a)返回值为两个矩阵: (matrix ([[0]],dtype=int32),matrix ([[0]],dtype=int32),

  指示输入矩阵A只有一个非零值。第一个矩阵([[0]],dtype=int32)表示非零元素位于第0行,第二个矩阵([[0]],dtype=int32)表示非零元素位于第0行的第0列。

  # # #案例

  # # # #案例1

  B1=NP。数组([真,假,真,假])打印(NP。非零(b1)) (array ([0,2),dtype=int64),)例如,对于一维jmdkn数组b1,非零(B1)得到一个长度为1的元组,因为该矩阵有两个非零值。表示b1[0]和b1[2]不为0(假)。

  # # # #案例2

  B2=NP。数组([真,假,真],[真,假,假]]) print (NP。非零(b2)) (array ([0,0,1),dtype=int64),array ([0,2,0),dtype=由于矩阵b2只有三个非零值,其第0个元素是数组A中非零元素的第0轴的下标,第1个元素是第1轴的下标,所以从下面的结果可以看出b2[0,0],b[0,2]和b2[1,0]的值都不为零:

  # # # #案例3

  当jmdkn数组直接作为numpy数组的下标时,相当于使用非零()转换的元组作为下标对象:

  a=np.arange(3*4*5)。整形(3,4,5)打印(a)打印(a[np .非零(b2)]) [[[ 0 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 28 29]

  [30 31 32 33 34]

  [35 36 37 38 39]]

  [[40 41 42 43 44]

  [45 46 47 48 49]

  [50 51 52 53 54]

  [55 56 57 58 59]]] [[ 0 1 2 3 4]

  [10 11 12 13 14]

  [20 21 22 23 24]]

  # # # #案例4

  为了观察这些变化,这里有一个例子:

  from numpy.ma import非零,arraydataSet=array( [[1,0,0,0,0],[0,1,0,0],[0,0,0,0,1]])a=dataSet[:1]0.5print(a)print( - )print(非零(a))print( - )print(非零(a)[0])print(-)print(dataSet[非零(a)[0],]) output:

  [false true true false] - (array ([1,2),dtype=int64),)-。

  推荐算法直通车

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: