使用numpy.load加载包含None值的数组时如何避免ValueError?

使用numpy.load加载包含none值的数组时如何避免valueerror?

numpy.load 无法加载 none 值

在使用 numpy.load 加载包含 python 对象(如 none)的数组时,会遇到 valueerror 错误。这是因为默认情况下,numpy.load 不允许加载这种类型的数组。

解决方案:使用 allow_pickle 参数

为了解决此问题,在加载时指定 allow_pickle 参数为 true,如下所示:

import numpy

# 保存包含 None 的数组
numpy.savez_compressed('123.npz', limit=None)

# 加载时允许加载 pickle
d = numpy.load('123.npz', allow_pickle=True)

现在,d 中包含了 limit 变量的值,该值可以是 none。

allow_pickle 参数详解

allow_pickle 参数指示 numpy.load 是否允许加载包含 python 对象的数组。默认情况下,allow_pickle 为 false,这意味着无法加载这种类型的数组。

谨慎使用 allow_pickle

使用 allow_pickle=true 时,需要注意只加载来自可信来源的数据。否则,可能会执行恶意代码,导致安全问题。

以上就是使用numpy.load加载包含None值的数组时如何避免ValueError?的详细内容,更多请关注硕下网其它相关文章!