【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]))
'''

相关内容

热门资讯

人身犯罪辩护、未成年人犯罪控告... 在面对人身犯罪辩护以及未成年人犯罪控告等刑事法律问题时,选择一家靠谱的刑事律师事务所至关重要。这不仅...
中国制度型开放举措给各国企业带... 塞尔维亚国际政治经济研究所副所长伊沃娜·拉杰瓦茨日前接受记者专访时表示,以海南自由贸易港为代表的中国...
韩国将宣布放宽政策以增加美元流... 12月18日,韩国副财长李亨一表示,韩国将宣布放宽规则以扩大美元流动性。李亨一表示,政府正在考虑放宽...
员工举报上司职场霸凌反被起诉侵... 员工向公司领导、同事发送邮件举报上司职场霸凌后,反被上司起诉侵犯名誉权,需要承担法律责任吗?近日,成...
有了政策红利,海南自贸港还需要... 记者 刘婷 卢奕贝 2025年12月18日起,海南自由贸易港正式启动封关运作,通过“一线放开、二线...
打造国际商事纠纷解决“优选地”... 2025年2月27日,海南洋浦,一场仲裁庭审正在进行。 庭上,仲裁员是一位中国籍的海事专家;庭下,申...
四川出台政策:1类创新药最高给... 12月16日,省政府办公厅印发《四川省支持生物医药和医疗器械产业高质量发展若干政策措施》(以下称《措...
“品特产 寻年味”!行业组织政... 为贯彻落实党的二十届四中全会精神,按照《促进农产品消费实施方案》部署,抓住2026年元旦、春节“两节...
法国内政部网络系统遭入侵,包括... 据新华社,法国内政部长洛朗·努内兹17日接受法国新闻广播电台采访时证实,法国内政部网络系统上周遭到入...