[Python] np.nonzero(ndarray) 返回数组中不为0的元素的索引
语法:
函数返回值为tuple
元组类型,tuple
内的元素数目与ndarray
维度相同。
np.nonzero(ndarray)
先强调一点,数组的索引是从0开始。
示例:
# 1维数组
a = [0,2,3]
b = np.nonzero(a)
print(b)
# (array([1, 2], dtype=int64),)
# 说明:索引1和索引2的位置上元素的值非零。# 2维数组
a = np.array([[0,0,3],[0,0,0],[0,0,9]])
b = np.nonzero(a)
print(b)
# (array([0, 2], dtype=int64), array([2, 2], dtype=int64))
# 说明:
# tuple的每一个元素,从一个维度来确定非零元素的位置。所以对于二维数组,tuple就有两个元素。
# tuple的元素的内容是该维度不为0的元素的位置,排列顺序是数组遍历的顺序。
# 比如确定第一个非零元素的位置:先找tuple内的第一个元素 array([0, 2], dtype=int64)的第一个元素,为0,说明第一个非零元素在第一行;
# 之后tuple内的第二个元素 array([2, 2], dtype=int64)的第一个元素,为2,说明第一个非零元素在第三列。# 3维数组
a = np.array([[[0,1],[1,0]],[[0,1],[1,0]],[[0,0],[1,0]]])
print(a)
# [[[0 1]
# [1 0]]
#
# [[0 1]
# [1 0]]
#
# [[0 0]
# [1 0]]]
b = np.nonzero(a)
print(b)
# (array([0, 0, 1, 1, 2], dtype=int64), array([0, 1, 0, 1, 1], dtype=int64), array([1, 0, 1, 0, 0], dtype=int64))
# 说明:由于a是3维数组,因此,索引值数组有3个一维数组,分别代表层、行、列。
# 查找原理和二维数组一致,不再赘述。
[Python] np.nonzero(ndarray) 返回数组中不为0的元素的索引相关推荐
- [Python] np.unique(ndarray) 返回ndarray的无重复元素的数组
官方文档:numpy.unique NumPy v1.17 Manual 语法: np.unique(ndarray) 实例: gt = [[1,2,2],[3,3,4]] temp = np.uni ...
- 补充函数编程,程序功能要求:有一个已知数组d,程序调用函数out输出数组 d的所有元素;调用函数plus对数组d中所有大于0的元素分别加上30;调用函数 cpy将d数组所有元素
void out(int *p,int n) { int i=0; //1分 for(i=0;i< ...
- python统计数组中出现次数最多的元素
python查找数组中出现次数最多的元素 方法1-np.argmax(np.bincount()) array = [0,1,2,2,3,4,4,4,5,6] print(np.bincount(ar ...
- python查找数组中出现次数最多的元素
方法1-np.argmax(np.bincount()) 看一个例子 array = [0,1,2,2,3,4,4,4,5,6] print(np.bincount(array)) print(np. ...
- 截取数组中的第i个元素,并返回截取后的结果
2019独角兽企业重金招聘Python工程师标准>>> // 截取数组中的第i个元素,并返回截取后的结果 remove (array,index) {if(index<=(ar ...
- [转载] [Python] np.ones_like(ndarray)和np.zeros_like(ndarray)
参考链接: Python中的numpy.zeros_like 语法: np.ones_like(ndarray) #创建同shape的全1矩阵 np.zeros_like(nda ...
- 【Array数组】使用slice返回数组中的元素
1.返回数组中的第一个元素 var letters:Array = new Array("a", "b", "c", "d&quo ...
- python 数组中第k个最大元素
数组中第k个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素.示例 1:输入: [3,2 ...
- Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引
问题内容是:给定一个数组,给定一个数字.返回数组中可以相加得到指定数字的两个索引. 比如:给定nums = [2, 7, 11, 15], target = 9 那么要返回 [0, 1],因为2 + ...
最新文章
- 米兰大学发布论文与猫咪叫声数据集,分类喵喵叫
- 准备开始在51上写博了。
- Linux 上与系统负载有关的命令
- Log4j2的性能为什么这么好?
- origin数据平滑_独门绝技!Origin挑战绘制细胞分化轨迹热图
- Java中Comparable和Comparator接口区别分析
- deepin中zz_如何解决R中的FizzBu​​zz问题
- 利用ffmpeg来进行视频解码的完整示例代码
- childNodes在IE与Firefox中的区别
- Apache Solr Java 企业级搜索引擎
- 在命令行到处MYSQL数据到EXCEL表
- 关于领域模型与技术架构的关系的思考
- 特征选择和特征提取,及其分类
- Google Dapper 大规模分布式系统的跟踪方案
- bootstrap 按钮颜色 class=“btn btn-success“
- 大家信夫信用服务平台普及诚信教育在进行
- ORA-12560:TNS:协议适配器错误的解决方案
- Redis内存分析工具之redis-rdb-tools的安装与使用
- Internet/Custom路由配置——网络测试仪实操
- JAVA-数据结构与算法-修路问题(普里姆算法)和公交站问题(克鲁斯卡尔算法)
热门文章
- python和java学哪个好-Python和Java学哪个好就业?
- MongoDB创建集合及创建文档(非常详细哦~)
- c语言如果x小于,请达人帮忙做份C语言试卷,谢谢了
- Vue使用html2canvas将Dom转化为图片
- 【大数据编程笔记】大数据背景,案例,概念
- 【Java笔记】四种权限修饰符总结
- Media Player Classic - HC 源代码分析 6:MediaInfo选项卡 (CPPageFileMediaInfo)
- 字节序(Endian),大端(Big-Endian),小端(Little-Endian)
- 安卓手机上跑_直接在电脑上浏览操作安卓手机 #效率App #scrcpy
- 浅说position定位及z-index使用