使用 None 值从 Python int 列表初始化 numpy 掩码数组

2024-05-08

正如问题的答案所示将具有 None 值的 python 列表转换为具有 nan 值的 numpy 数组 https://stackoverflow.com/questions/19456239/convert-python-list-with-none-values-to-numpy-array-with-nan-values,如果我们强制执行 dtype=float,那么从具有 None 值的列表中初始化屏蔽 numpy 数组是很简单的。这些浮点值被转换为 nan,我们可以简单地执行以下操作:

ma.masked_invalid(np.array(a, dtype=float), copy=False)

然而,这对于 int 不起作用,例如:

ma.masked_invalid(np.array(a, dtype=int), copy=False)

因为中间 np.array 不会使用 None 值创建(没有 int nan)。

基于 Python 整数列表初始化屏蔽数组的最有效方法是什么,该数组也包含 None 值,从而使这些 None 值被屏蔽?


到目前为止我发现的最优雅的解决方案(它一点也不优雅)是初始化类型的掩码数组float并将其转换为int然后:

ma.masked_invalid(np.array(a, dtype=float), copy=False).astype(int)

这会生成一个正确的 NP 数组,其中None初始数组中的值a被蒙蔽。例如,对于:

a = [1, 2, 3, None, 4]
ma.masked_invalid(np.array(a, dtype=float), copy=False).astype(int)

we get:

masked_array(data = [1 2 3 -- 4],
             mask = [False False False  True False],
       fill_value = 999999)

此外,实际的 masked int 值变为 min int,即

ma.masked_invalid(np.array(column, dtype=float), copy=False).astype(int).data

gives:

array([                   1,                    2,                    3,
       -9223372036854775808,                    4])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 None 值从 Python int 列表初始化 numpy 掩码数组 的相关文章

随机推荐

  • PHP ajax使用新数组上传多个文件

    它是我的上传 html 代码 div class col xs 12 div
  • Nodemon - 使用配置文件指定扩展监视列表

    有没有办法使用配置文件而不是命令行来指定监视列表 Nodemon 文档中的命令行方法 我尝试使用nodemon json配置文件包含以下内容 ext js json hbs html 返回 扩展名匹配 错误 然后我尝试将配置添加到packa
  • 将 Ember 组件附加到不受 Ember 管理的 DOM 元素

    我想附加一个 Ember 组件ComponentB到由某些非 Ember UI 库生成的 DOM 元素didInsertElement of ComponentA 导致类似的结果 div class ember view component
  • 对 exec 行为有什么解释吗? [复制]

    这个问题在这里已经有答案了 寻找此代码为何引发的良好解释SyntaxError def echo x return x def foo s d exec s d return dict x y for x y in d items def
  • Java RMI 通过互联网

    我正在用 Java 开发一个游戏 使用 RMI 进行所有网络通信 RMI 允许我调用服务器上的方法 但这对我来说还不够 我还希望服务器能够在连接的客户端之间传播消息 我的客户端查找服务器 它的接口扩展了远程 并在其上注册 它允许服务器知道谁
  • __declspec(align) 用于多个声明

    抱歉 这个非常简单的问题 无法在谷歌上找到答案 这个声明语法是 declspec align 16 float rF 4 declspec align 16 float gF 4 declspec align 16 float bF 4 相
  • 如何引用 models.py 之外的信号

    在文档中Django 它指定models py是定位信号回调函数的好地方 post save pre save etc 这段代码应该放在哪里 您可以将信号处理和注册代码放在您喜欢的任何地方 但是 您需要确保它所在的模块获取 尽早导入 以便信
  • 使用对象键作为 JSON 架构中的类型

    假设我想根据 Intellij IDEA 中的 JSON 架构验证 YAML 文件 该文件的结构如下 foo command touch tmp a txt I know I don t need this but it s an exam
  • 如何在 C# 中获取我当地时间的 UTC 等效时间

    我的机器处于 PDT 如果我说 DateTime Now 那么我将获得相当于 2012 年 9 月 18 日上午 6 00 00 的当地时间 我想获得此日期时间实例的 UTC 等效值 UTC 时间将比 PDT 早 7 小时 比 PST 早
  • Android - Firebase - 保存新数据而不覆盖旧数据

    创建此问题是因为我之前的问题包含 2 个问题 而不是将其缩小到 1 Aim 用户将能够存储新数据而不会覆盖之前提交的数据 描述 目前 当用户输入新报告时 事件报告节点中的用户事件报告数据将被覆盖 用户发送的旧事件报告中的数据应与新数据一起保
  • JAXB、Marshal 的问题 - 无法封送类型“java.lang.String”

    当我运行 marshal 操作时 出现以下错误 javax xml bind MarshalException with linked exception com sun istack internal SAXException2 unab
  • for 循环中列表项未更改

    当以下代码没有达到我预期的效果时 我感到震惊 lines list this is line 1 n this is line 2 n this is line 3 n for line in lines list line line st
  • Django 表单验证消息未显示

    我试图限制可以以表单上传的文件类型 大小和扩展名 该功能似乎有效 但未显示验证错误消息 我意识到if file size gt 4 1024 1024可能不是最好的方法 但我稍后会处理这个问题 这是 forms py class Produ
  • JavaScript:解决意外字符“#”

    介绍 我的 React 应用程序可以执行npm run build在开发模式下 webpack config dev js 但不在生产模式下 webpack config prod js 抛出以下错误 Module parse failed
  • java IO将一个文件复制到另一个文件

    我有两个 Java io File 对象 file1 和 file2 我想将 file1 的内容复制到 file2 有没有一种标准方法可以做到这一点 而无需我创建一个读取 file1 并写入 file2 的方法 不 没有内置方法可以做到这一
  • Azure PostgreSQL 时间点还原不起作用

    我们在 Azure 中有一个 Postgre 数据库 但遇到了一个问题 表中的所有行都被删除 我们尝试使用 de azure 门户中的 时间点还原 选项 但创建的数据库与当前运行的数据库具有相同的数据 我们还尝试了其他日期和时间 数据库问题
  • C++ 中的矩阵类

    我正在做一些线性代数数学 并且正在寻找一些真正轻量级且易于使用的矩阵类 可以处理不同的维度 基本上是 2x2 2x1 3x1 和 1x2 我认为此类可以使用模板来实现 并在某些情况下使用一些专门化来提高性能 有人知道任何可用的简单实现吗 我
  • 隐藏一个表单,切换到第二个表单,关闭第二个表单并取消隐藏第一个表单

    我已经查看了所有建议的答案 但似乎没有什么适合我正在寻找的内容 我想从主窗体中调用第二个窗体 在第二个窗体处于活动状态时隐藏主窗体 然后在第二个窗体关闭时取消隐藏主窗体 基本上我想在两种形式之间 切换 到目前为止我有 在我的主要形式中 pr
  • 优雅地终止 WCF 服务 - 完成所有打开的会话并限制新会话

    我有一个我编写的 WCF 服务 它托管在 Windows 服务中 它以 PerSession 模式运行 该服务允许客户端通过该服务远程打开文件 更改文件以及关闭文件 到目前为止一切工作都非常顺利 当 Windows 服务停止时 我希望能够让
  • 使用 None 值从 Python int 列表初始化 numpy 掩码数组

    正如问题的答案所示将具有 None 值的 python 列表转换为具有 nan 值的 numpy 数组 https stackoverflow com questions 19456239 convert python list with