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

作者:徐亦快 时间:2021-01-19 04:32:27 

先上代码,主要语句为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的位置索引

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

观察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)

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

来源:https://blog.csdn.net/weixin_42280517/article/details/89523101

标签:numpy,指定行,元素,索引
0
投稿

猜你喜欢

  • 纯CSS实现动态提示信息Tooltips

    2008-05-22 11:56:00
  • 网页设计标准尺寸

    2008-06-15 15:21:00
  • 两组字符串数据比较合并相同数据

    2008-07-31 17:27:00
  • 在SQL 2005中实现循环每一行做一定的操作

    2009-03-05 14:57:00
  • python中openpyxl库用法详解

    2023-07-15 09:53:45
  • Asp中如何设计跨越域的Cookie

    2008-10-24 09:46:00
  • 《色彩解答》系列之二 色彩比例

    2008-02-17 14:38:00
  • JavaScript遍历求解数独问题的主要思路小结

    2023-10-13 16:41:14
  • Python实现滑雪小游戏

    2023-08-10 15:30:03
  • Python使用QRCode模块生成二维码实例详解

    2022-07-04 16:50:44
  • Python实战之markdown转pdf(包含公式转换)

    2023-11-24 12:39:34
  • python3的数据类型及数据类型转换实例详解

    2022-06-30 11:24:45
  • JavaScript使用正则表达式获取全部分组内容的方法示例

    2023-08-27 13:38:18
  • oracle下加密存储过程的方法

    2009-02-28 10:50:00
  • DHTML中重要的属性方法

    2008-06-21 17:13:00
  • 妙用Dreamweaver MX共享Word XP文件

    2010-09-05 21:17:00
  • Python字符串大小写转换拼接删除空白

    2023-01-24 13:08:01
  • SQL Server取得网站路径的几种方法及比较

    2008-12-09 14:15:00
  • SQL处理多级分类,查询结果呈树形结构

    2012-08-21 10:50:12
  • url地址栏加密和解密函数 Base64

    2008-07-10 13:29:00
  • asp之家 网络编程 m.aspxhome.com