numpy 实现返回指定行的指定元素的位置索引

 更新时间:2021年05月10日 09:46:46   作者:徐亦快  
这篇文章主要介绍了numpy 实现返回指定行的指定元素的位置索引操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

先上代码,主要语句为np.where(b[c]==1),

详细解释如下:

import numpy as np 
b = np.array([[-2,-3,0,0,0,6,4,1],[88,1,0,0,0,6,4,2],[99,6,0,0,1,6,4,2]]) # 三行八列的数组b
print('b\n',b)
 
c = np.array([2,0])     # c表示指定行
print('b[c]\n',b[c])    # b[c]返回 数组b的指定行  这里依次返回了b的下标为2和0的行
 
print('\n')
print(np.where(b[c]==1)) # 返回指定行的指定元素的位置索引 这里返回了b[c]每行中 值为1的位置索引

观察np.where()的返回值(array([0, 1], dtype=int64), array([4, 7], dtype=int64))可以发现,

对于数组b[c]来说,其中值为1的位置在[0,4]以及[1,7]上,np.where()返回了一个元组,[0]的位置表示行索引,[1]表示列索引。

综上,np.where(b[c]==1)实现的功能是,从b中按c中元素的顺序找到c所指定的行,然后再这些行中发现值为1的位置。

补充:短小精悍算例:Python如何提取数组Numpy array中指定元素的位置索引

数组a的表达式如下:

import numpy as np
a = np.array([1, 2, 3, 2, 2, 3, 0, 8, 3])
print(a)

输出结果:

[1 2 3 2 2 3 0 8 3]

现在要找出a中元素3的位置索引。

r1 = np.where(a==3)
print(type(r1))
print(r1)

输出结果:

<class 'tuple'>

(array([2, 5, 8], dtype=int64),)

可见得到的是一个tuple。

如果要想得到array,采用如下表示:

r1 = np.where(a==3)
print(type(r1[0]))
print(r1[0])

输出结果:

<class 'numpy.ndarray'>

[2 5 8]

还可以使用argwhere()函数进行操作:

r2 = np.argwhere(a==3)
print(type(r2))
print(r2)
print(r2.shape)

输出结果:

<class 'numpy.ndarray'>

[[2]

[5]

[8]]

(3, 1)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 利用Python如何制作贪吃蛇及AI版贪吃蛇详解

    利用Python如何制作贪吃蛇及AI版贪吃蛇详解

    这篇文章主要给大家介绍了关于利用Python如何制作贪吃蛇及AI版贪吃蛇的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • MATLAB中print函数使用示例详解

    MATLAB中print函数使用示例详解

    print函数的功能是打印图窗或保存为特定文件格式,这篇文章主要介绍了MATLAB中print函数使用,需要的朋友可以参考下
    2023-03-03
  • python中判断数字是否为质数的实例讲解

    python中判断数字是否为质数的实例讲解

    在本篇文章里小编给大家分享了关于python中判断数字是否为质数的实例讲解内容,有兴趣的朋友们可以学习下。
    2020-12-12
  • 如何利用Python实现一个论文降重工具

    如何利用Python实现一个论文降重工具

    文章去重(或叫网页去重)是根据文章(或网页)的文字内容来判断多个文章之间是否重复,下面这篇文章主要给大家介绍了关于利用Python实现论文降重工具的相关资料,需要的朋友可以参考下
    2021-07-07
  • python使用requests模块实现爬取电影天堂最新电影信息

    python使用requests模块实现爬取电影天堂最新电影信息

    这篇文章主要介绍了python使用requests模块实现爬取电影天堂最新电影信息,本文通过实例代码给大家介绍了str/list/tuple三者之间怎么相互转换,需要的朋友可以参考下
    2019-04-04
  • selenium如何定位span元素的实现

    selenium如何定位span元素的实现

    这篇文章主要介绍了selenium如何定位span元素的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python图形化界面基础篇之如何使用弹出窗口和对话框

    Python图形化界面基础篇之如何使用弹出窗口和对话框

    对于Python程序员来说,处理弹出窗口似乎并不是一个常见的任务,这篇文章主要给大家介绍了关于Python图形化界面基础篇之如何使用弹出窗口和对话框的相关资料,需要的朋友可以参考下
    2024-03-03
  • Python中的Numpy 矩阵运算

    Python中的Numpy 矩阵运算

    这篇文章介绍Python中的Numpy 矩阵运算,NumPy是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,下面详细内容,需要的朋友可以参考一下
    2021-11-11
  • LyScript实现绕过反调试保护的示例详解

    LyScript实现绕过反调试保护的示例详解

    LyScript插件中内置的方法可实现各类反调试以及屏蔽特定API函数的功能,这类功能在应对病毒等恶意程序时非常有效。本文为大家提供了LyScript实现绕过反调试保护的示例代码,感兴趣的可以了解一下
    2022-08-08
  • 基于SpringBoot构造器注入循环依赖及解决方式

    基于SpringBoot构造器注入循环依赖及解决方式

    这篇文章主要介绍了基于SpringBoot构造器注入循环依赖及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04

最新评论