这个python代码试图对这个numpy数组做什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个python代码试图对这个numpy数组做什么?相关的知识,希望对你有一定的参考价值。

我有一条python代码行,我不确定它要做什么。我不知道语法的名称在做什么,所以我不确定如何用谷歌搜索它。 (我尝试过:选择numpy数组)。

结果的类型为numpy.ndarray

self.Xconstant是一个虚假布尔值列表

    result[:, self.Xconstant] = 0.0

这是self.Xconstant是什么:

[False, False, False]

我假设它将为碰巧为True的list元素分配0.0?所以如果我有它:

# lets say result is [1, 2, 3]
self.Xconstant = [False, False, True]
result[:, self.Xconstant] = 0.0 # print result would give [1, 2, 0.0]

奇怪的是,我收到一个错误消息,说“数组的索引太多”。

我对这行python代码要修改的内容的逻辑是否正确?如果是这样,我在这里做错了什么?

答案

此:

result[:, self.Xconstant]

应该是:

result[self.Xconstant]

毕竟,正如您所说的,result是1d,一个1d数组不需要两个索引器。

另一答案
solution = self.Xconstant == 0.0

如果它已经是数组,为什么要尝试将其包装在数组中?

以上是关于这个python代码试图对这个numpy数组做什么?的主要内容,如果未能解决你的问题,请参考以下文章

Python-NumPy

python 问题。。。 对一个波形文件做fft,然后怎么获取那些频率分量? numpy有这个函数

使用 numpy 数组和共享内存并行化 python 循环

ValueError:使用序列python,numpy设置数组元素[重复]

numpy如何沿维度拆分数组?

numpy的矩阵乘法