小于numpy数组中的(

前端之家收集整理的这篇文章主要介绍了小于numpy数组中的( 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我现在正在学习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] 
原文链接:/python/533044.html

猜你在找的Python相关文章