【Python】np.nonzero()__计算数组非零元素的索引
创始人
2024-05-28 21:52:36
0

【Python】np.nonzero__计算数组非零元素的索引

文章目录

  • 【Python】np.nonzero__计算数组非零元素的索引
    • 1. 介绍
    • 2. API
    • 3. 示例
      • 3.1 一维数组
      • 3.2 二维数组
      • 3.3 三维数组

1. 介绍

np.nonzero()函数被用来求目标数组(矩阵)的非零元素位置索引:

  • 返回的是目标数组 X 中非零元素的索引;
  • len(np.nonzero(X))可以用来表示目标数组a中非零元素的个数。

2. API

import numpy as np
a = np.array([1, 2, 3, 0])# 第一种:
b = a.nonzero()
print('1: ', b)# 第二种:
b = np.nonzero(a)
print('2: ', b)''' 输出
1:  (array([0, 1, 2]),)
2:  (array([0, 1, 2]),)
'''

3. 示例

3.1 一维数组

对于一维数组来说,np.nonzero()返回了一个一维array数组,其含义是数组中非零元素的索引。

  • 例子中的0,2,4即为数组a中非零元素1,2,3的索引。
import numpy as npa = [1, 0, 2, 0, 3, 0]   # 一维数组
b = np.nonzero(a)
print(b)'''输出
(array([0, 2, 4]),)
'''

3.2 二维数组

对于二维数组来说,np.nonzero()的返回值是两个array数组,对应二维数组的两个维度。

  • 例子中,[0][0]、[0][1]、[2][0]、[2][2]分别对应二维数组a中的非零元素;
  • 而返回的数组的长度则代表二维数组a中非零元素的个数。
import numpy as npa = [[1, 1, 0],[0, 0, 0],[1, 0, 3]]
b = np.nonzero(a)
print(b)'''输出
(array([0, 0, 2, 2]), array([0, 1, 0, 2]))
'''

3.3 三维数组

返回结果依旧是三维数组中非零元素的索引。

import numpy as npa = [[[1, 1, 0],[0, 0, 1]],[[0, 0, 0],[1, 0, 0]],[[1, 0, 3],[0, 0, 0]]]
b = np.nonzero(a)
print(b)'''输出
(array([0, 0, 0, 1, 2, 2]), array([0, 0, 1, 1, 0, 0]), array([0, 1, 2, 0, 0, 2]))
'''

相关内容

热门资讯

收割年轻人的“注册兼职”:刷脸... “线上办理营业执照报酬700元”“亚马逊注册冲量得920元”……近年来,此类“注册兼职”信息在网络上...
欧国联-C罗破门救主+伤退 葡... 北京时间6月9日3时,2024-25赛季欧国联决赛在德国安联球场展开角逐,葡萄牙队经过120分钟加时...
原创 南... 在香格里拉对话会上,美国国防部长赫格塞思把南海问题抬到了桌面上,又一次玩起了老掉牙的“中国威胁论”这...
秦朔:这部事关民营经济命运的法... 文 | 秦朔 《中华人民共和国民营经济促进法》(下称“《促进法》”)已于5月20日正式施行,它以国家...
河南省委派出15个巡视组 撰文丨余晖 据《河南日报》6月8日消息,根据河南省委关于巡视工作的统一部署,截至6月6日,十一届省...
中泰证券:计算机行业筑底企稳 ... 中泰证券发布研报称,国际形势倒逼自主可控加速,在科技自立自强的大战略下,党政、行业信创均有望迎来加速...
山东公费生招生政策来了! 近日 山东省教育厅网站发布了 《关于做好2025年公费生 与文物全科人才招生工作的通知》 2025年...
以青春之名诠释法律温度 本报讯(记者 陈欣然 通讯员 李梦楚)周末,天津市津南区海棠街道品尚花园社区,一场面对社区居民的法律...
关于《河南省人民代表大会常务委... 省人大常委会: 5月27日下午,常委会本次会议分组审议了《河南省人民代表大会常务委员会关于废止〈河南...
政策定盘 需求破局(坚决打赢“... □本报记者 李若凡 近期,全国小麦进入收获关键期。截至6月8日17时,河南已收获小麦8369.9万亩...