构造一个多维数组时,出现问题:
VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.
x=np.array(data)
该问题非常明确地指出,数组的维度不一致,无法使用np.array()将列表转换成数组。例如,
[[1,2]
[4,5,6,7]]
列表这样可以,但是转换为array就有问题了。因为数组要求维度一致,简单说,同样的行、同样的列。
所以会出现上述提示。
需要注意,这里出现的是警告。通常来说,是不用处理的。
有个故事:
在一个景点的山崖边,有个“警告:危险请勿下跳”
大家看到牌子都很小心,结果一个穿着牛仔裤、格子衫、背着双肩包的人走过来,看到牌子,就纵身跃下去了。
结果,才知道,跳下去的是程序员。因为他们知道,凡是警告都不是错误,执行它,肯定不会出错。
上述这个警告,和其他警告不一样,执行它,会产生意想不到的错误,或者说,相当于埋下一枚炸弹,随时爆炸,所以,必须引起重视。
另外,这个错误,仅仅在高版本中才会提醒。使用低版本需要自己排查注意该问题。
错误出现场景:
我在整理文件夹下的图像,尝试构造一个array。
实际上,文件夹下面的文件大小不一致,出现了该错误。
解决方案:把源图像文件设置成同样大小,然后再构造数组。