gpt4 book ai didi

arrays - 可见弃用警告...?

转载 作者:行者123 更新时间:2023-11-28 19:10:06 25 4
gpt4 key购买 nike

我有一些数据是从 h5 文件中以 numpy 数组的形式读取的,并且正在对其进行一些分析。对于上下文,数据绘制了光谱响应曲线。我正在索引数据(以及我为 x 轴创建的后续数组)以获取特定值或值范围。我没有做任何复杂的事情,甚至我正在做的小数学也很基础。但是我在很多地方收到以下警告错误

“VisibleDeprecationWarning: bool 索引与维度 0 上的索引数组不匹配;维度为 44,但对应的 bool 维度为 17”

即使我得到的输出在我检查时是正确的。

谁能解释一下这个警告的含义,以及我是否需要比现在更关心它?

我不确定示例代码是否能对此有所说明,但看​​到这是在我对数组进行索引和切片时出现的警告,这里有一些警告:

data = h5py.File(file,'r')
dset = data['/DATA/DATA/'][:]
vals1 = dset[0]

AVIRIS = numpy.linspace(346.2995778, 2505.0363678, 432)
AVIRIS1 = AVIRIS[vals1>0]
AVIRIS1 = AVIRIS[vals1<1]

最佳答案

关于此警告的先前问题:

VisibleDeprecationWarning: boolean index did not match indexed array along dimension 1; dimension is 2 but corresponding boolean dimension is 1

https://stackoverflow.com/a/34296620/901925

我认为这是 numpy 1.10 中的新内容,是使用比数组短的 bool 索引的结果。我没有安装那个版本所以不能举个例子。但是在较早的 numpy 中

In [667]: x=np.arange(10)
In [668]: ind=np.array([1,0,0,1],bool)
In [669]: ind
Out[669]: array([ True, False, False, True], dtype=bool)
In [670]: x[ind]
Out[670]: array([0, 3])

运行正常,即使 indx 短。它有效地用 False 填充 ind。我认为较新的版本会继续进行计算,但会发出此警告。我需要找到更改此内容的提交或讨论它的 SO 问题。

可以抑制警告 - 请参阅侧边栏。但是你真的应该检查有问题的数组的形状。它们是否匹配,或者 bool 索引是否太短?你能改正吗?

Github 讨论

https://github.com/numpy/numpy/issues/4980 bool 数组索引无提示地失败 #4980

拉取请求

https://github.com/numpy/numpy/pull/4353 DEP:弃用具有不匹配形状的 bool 数组索引 #4353

要抑制警告,请使用类似的东西:

import warnings
warnings.filterwarnings("ignore", category=np.VisibleDeprecationWarning)

您可能需要调整类别名称才能使其正确。

关于arrays - 可见弃用警告...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41631667/

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