gpt4 book ai didi

python - 这是什么样的数组切片(?)?

转载 作者:行者123 更新时间:2023-12-01 05:13:52 24 4
gpt4 key购买 nike

我正在查看一些代码,我发现:

y = X[class_member_mask & core_samples_mask]

无论如何,type(X)=<type 'numpy.ndarray'>len(X)=150) .

什么是y ?这是怎样的“切片”?它是否删除或调整了 X 的某些成员?哪个以及为什么?

最佳答案

从我们看到的代码中不可能 100% 确定发生了什么,但这看起来像 NumPy advanced indexing operation .

当 NumPy 数组使用形状相同的 bool 值数组进行索引时,如下所示:

>>> x = numpy.array([[1, 2],
... [3, 4]])
>>> index_array = numpy.array([[True, False],
... [False, True]])
>>> x[index_array]
array([1, 4])

结果是与 x 的每个位置相对应的元素数组,其中索引数组具有 True 元素。元素在结果数组中的显示顺序与在 x 的扁平化版本中出现的顺序相同。结果不是一个 View ;而是一个 View 。修改它不会影响x。 (这是当 xindex_array 形状不同时更一般行为的特例,但这里的形状可能相同,并且完整的行为确实很难理解。)

&bitwise and operator 。对于 bool 值,这与常规的 and 运算符几乎相同。对于形状相同的 NumPy bool 数组:

>>> x = numpy.array([True, False, True])
>>> y = numpy.array([True, True, False])
>>> x & y
array([ True, False, False], dtype=bool)

它遍历的相应元素来创建结果数组。 (同样,这是更一般行为的特例,但解释完整的一般性将使帖子的长度增加四倍。)

综合起来,我们可以猜测 class_member_maskcore_samples_mask 是 bool 数组,表示 X 的哪些元素满足特定条件。
class_member_mask & core_samples_mask 然后创建一个数组,表示 X 的哪些元素符合两个条件,并且 y = X[class_member_mask & core_samples_mask] 选择符合这两个条件的 X 的所有元素。

关于python - 这是什么样的数组切片(?)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com