有人可以解释一下python中这一行返回的内容吗?我知道它可能很容易但对于python来说是全新的.
result = x[y[:,0]>50]
Run Code Online (Sandbox Code Playgroud)
结果,x,y都是数组.
假设你的"数组"是numpy.ndarrays,
把它分成几块:
y[:,0]
Run Code Online (Sandbox Code Playgroud)
这将返回一个数组视图.您可以将其视为一个新数组(暂时).存在显着差异,但它们并未在此发挥作用.这是原始数组的第一列的视图.例如:
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> a[:,0]
array([0, 3, 6])
Run Code Online (Sandbox Code Playgroud)
现在,下一部分: y[:,0] > number.这将返回一个新的布尔数组.将对左侧数组(或视图)中的每个元素计算条件,并将其放入输出中.
>>> a[:,0] > 4
array([False, False, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
最后,我们有一个布尔索引操作.这需要从布尔内部数组所在的外部数组中获取元素True.
>>> arr2
array([ 8, 42, 63])
>>> a[:,0] > 4 # Just a reminder ...
array([False, False, True], dtype=bool)
>>> arr2[a[:,0] > 4]
array([63])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |