繁体   English   中英

索引错误:布尔索引与维度 1 的索引数组不匹配; 维度为 3,但对应的布尔维度为 10

[英]IndexError: boolean index did not match indexed array along dimension 1; dimension is 3 but corresponding boolean dimension is 10

我应该如何解决这个错误?

dhidden[hidden <= 0] = 0

给了我错误:

IndexError: boolean index did not match indexed array along dimension 1; dimension is 3 but corresponding boolean dimension is 10

更多信息:

 print(type(hidden))
<class 'numpy.ndarray'>
 print(type(hidden))

<class 'numpy.ndarray'> 
print(dhidden.shape)
(5, 3)
 print(hidden.shape)
(5, 10)

hidden.dtype 和 dhidden.dtype 是 float64

我试过 dhidden[hidden <= 0.0] = 0.0 并且仍然得到同样的错误。

hidden的布尔计算返回的索引超出了dhidden的范围。 因此,表达式的结果可能会返回超出dhidden范围的dhidden dhidden 的维度可以大于 hidden 的维度,但反过来不行。 如果您只想要hidden的相关值,您可以尝试以下操作:

dhidden[hidden[:, :3] <=0] = 0

根据@Reti43 的建议:重要的是要注意,这假设只有前 3 列与隐藏相关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM