np.where方法怎么在Numpy中使用

  介绍

本篇文章为大家展示了np.where方法怎么在Numpy中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<代码> Numpy。(x, y)(条件)

numpy.where()有两种用法:

1。np。(条件,x, y)

满足条件(条件)、输出x,不满足输出y。

如果是一维数组,相当于[十五如果c其他青年志愿(c、十五、青年志愿)邮政(条件,x, y)]

在祝辞祝辞,aa =, np.arange (10)   在祝辞祝辞,np.where (aa, 1, 1)   数组([1,1,1,1,1,1,1,1,1,1]),#,0为False,所以第一个输出1   祝辞祝辞祝辞,np.where (aa 祝辞,5、1、1)   数组([1,1,1,1,1,1,1,1,1,1])      祝辞祝辞祝辞,np.where([[真,假],,[真,真]],,,#,官网上的例子   ,,[[1,2],[3,4]],   ,,,,,,[[9 8],[7,6]])   数组([[1,,8],   ,,[3,4]])

上面这个例子的条件为[[真,假],[真,假]],分别对应最后输出结果的四个值。第一个值从[1,9]中选,因为条件为真实的,所以是选1。第二个值从[2,8]中选,因为条件为False,所以选8日后面以此类推。类似的问题可以再看个例子:

在祝辞祝辞,a =10   在祝辞祝辞,np.where ([[a 祝辞,5,a  & lt;, 5],, (a ==, 10, a ==, 7]],   ,,,,,,[[“chosen",“not  chosen"],, (“chosen",“not  chosen"]],   ,,,,,,[[“not  chosen",“chosen"],, (“not  chosen",“chosen"]])      阵列([[& # 39;选择# 39;,,& # 39;选择# 39;],   ,,,(& # 39;选择# 39;,,& # 39;选择# 39;]],dtype=& # 39; & lt; U10& # 39;)

2。np.where(条件)

只有条件(条件),没有x和y,则输出满足条件(即非0)元素的坐标(等价于numpy.nonzero)。这里的坐标以元组的形式给出,通常原数组有多少维,输出的元组中就包含几个数组,分别对应符合条件元素的各维坐标。

在祝辞祝辞,a =, np.array ((2、4、6、8、10])   在祝辞祝辞,np.where(祝辞a  5),, #,返回索引   (数组([2,3,4]),),,   在祝辞祝辞,(np.where(祝辞a  5)],,, #,等价于,一个(a> 5)   数组([,6、8日,10])      在祝辞祝辞,np.where ([[0, 1], [1, 0]])   (数组([0,1]),数组((1,0)))

上面这个例子条件中[[0,1],[1,0]]的真值为两个1,各自的第一维坐标为[0,1],第二维坐标为(1,0)。

下面看个复杂点的例子:

在祝辞祝辞,a =, np.arange (27) .reshape (3, 3, 3)   ,在的在的在一个   数组([[[,0,1,2),   (,,,,3,4,5],   ,,,(,6,7,8)),      ,,,[[,9,10,11),   ,,,(12日,13日,14日),   ,,,(15日,16日,17日]],      ,,,[[18日,19日,20日),   ,,,(21日,22日,23日),   ,,,(24日,25日,26日]]])      在祝辞祝辞,np.where(祝辞a  5)   (数组([0,0,0,1,1,1,1,1,1,1,1,1,,2,,2,,2,,2,,2,,2,,2,,2,,2]),   ,数组([2,,2,,2,,0,0,0,1,1,1,,2,,2,,2,,0,0,0,1,1,1,,2,,2,,2]),   ,数组([0,,1,,2,,0,,1,,2,,0,,1,,2,,0,,1,,2,,0,,1,,2,,0,,1,,2,,0,,1,,2]))      #,符合条件的元素为   [才能,6,7,8)),      ,,[[,9,10,11),   ,,,(12日,13日,14日),   ,,,(15日,16日,17日]],      ,,[[18日,19日,20日),   ,,,(21日,22日,23日),   ,,,(24日,25日,26日]]]

所以np.where会输出每个元素的对应的坐标,因为原数组有三维,所以元组中有三个数组。

补充

np.where和np。searchsorted同属于Numpy数组搜索的一部分,这里先介绍简单的地方

import  numpy  as  np   时间=a  np.array ([1,, 2,, 3,, 4,, 5])   时间=b  np.where (==a  5)      打印(b)

,方法将会返回一个元祖

(数组([4]))

此外还将介绍一个搜索奇数和偶数的方法(数组全都默认使用最上面一数的组)

可见,简单的判断余数即可

c =, np.where (% 2,==, 0)   打印(c)      时间=d  np.where (% 2,==, 1)   打印(d)

返回:

(数组([1,,3]),)   (数组([0,,2,,4]),)

上述内容就是np.where方法怎么在Numpy中使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

np.where方法怎么在Numpy中使用