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

ID:21194 / 打印

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 时,加载的数据源需要来自可信来源,以避免潜在的安全问题。

上一篇: 如何利用 tmpfs 将文件存储在内存中?
下一篇: TCP 服务端退出后端口被占用怎么办?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。