加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

小于numpy数组中的(

发布时间:2020-12-17 17:35:28 所属栏目:Python 来源:网络整理
导读:我现在正在学习Python,而我却在网上找到了这行代码.我不明白这行代码的实际作用. 假设我有这个数组: import numpy as npx = np.array ([[1,5],[8,1],[10,0.5]]y = x[np.sqrt(x[:,0]**2+x[:,1]**2) 1]print (y) 结果是一个空数组.我想知道y实际上是做什么的

我现在正在学习Python,而我却在网上找到了这行代码.我不明白这行代码的实际作用.

假设我有这个数组:

import numpy as np
x = np.array ([[1,5],[8,1],[10,0.5]]
y = x[np.sqrt(x[:,0]**2+x[:,1]**2) < 1]
print (y)

结果是一个空数组.我想知道y实际上是做什么的?我以前从未遇到过这种代码.似乎方括号就像if-condition语句.代替该代码,如果编写以下代码:

import numpy as np
x = np.array ([[1,0.5]]
y = x[0 < 1]
print (y)

它将精确返回x是什么(因为零IS小于一).
假设这是一种编写if条件语句的方法,我发现它真的很荒谬,因为我正在将一个数组与一个整数进行比较.
谢谢您的回答!

最佳答案
在Numpy中:

[1,1,2,3,4] < 2

(大致)等同于以下内容:

[x<2 for x in [1,4]]

用于香草Python列表.因此,在两种情况下,结果都是:

[True,True,False,False]

对于其他一些功能,例如加法,乘法等,也是如此.广播实际上是Numpy的主要卖点.

现在,您可以在Numpy中执行的另一项操作是布尔索引,它提供了一系列布尔值,这些布尔值被解释为“是否保持此值Y / N?”.所以:

arr = [1,4]
res = arr[arr<2]

# evaluates to:
=> [1,1] 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读