numpy.load加载包含None值时报错如何解决?

numpy.load加载包含none值时报错如何解决?

numpy.load 获取 none 值时报错的解决方法

在使用 numpy.load() 从一个 .npz 文件中加载数据时,如果其中包含 none 值,则可能会出现 "object arrays cannot be loaded when allow_pickle=false" 的错误。

这个错误是由 allow_pickle 参数引起的。默认情况下,numpy.load() 将 allow_pickle 设置为 false,这意味着它不允许加载包含 python 对象(如 none)的数组。

要解决这个问题,需要将 allow_pickle 参数设置为 true,如下所示:

import numpy

limit = None

numpy.savez_compressed(
    '123.npz',
    limit=limit
)

d = numpy.load('123.npz', allow_pickle=True)
limit = d.get('limit', None)

添加了 allow_pickle=true 参数后,numpy.load() 将允许加载包含 none 值的数组,从而避免报错。

此外,allow_pickle 参数还有一个替代用途,即允许加载包含其他 python 对象(如列表、字典或自定义对象)的数组,但需要注意,当 allow_pickle=true 时,加载的数据源需要来自可信来源,以避免潜在的安全问题。

以上就是numpy.load加载包含None值时报错如何解决?的详细内容,更多请关注硕下网其它相关文章!