You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NumPy整数类型列中存储NaN实现数值单元格留空

适配场景的解决方案

使用NumPy可空整数类型(要求NumPy版本≥1.20)

你遇到的报错根源是NumPy原生小写开头的int/int32/int64等基础整数类型本身不支持空值,从1.20版本开始NumPy官方推出了专门的可空整数系列类型,首字母大写写为Int8/Int16/Int32/Int64,完全匹配你的所有要求:

  • 列的数据类型标记为整数,符合期刊对内容类型的要求
  • 支持直接存放np.nan作为缺失值,导出表格时会自动渲染为空白,不需要额外替换为0
  • 有效整数不会出现.0后缀,完全满足引用编号的学术规范要求
  • 不需要修改原有数据结构,仅调整dtype声明即可

修改后的可运行代码如下:

import numpy as np

test_data = [[2.3, 4], [1.1, np.nan]]
# 仅将原有int替换为大写开头的Int64即可
test_array = np.array(test_data, dtype=[("col1", float), ("col2", "Int64")])

如果你使用的NumPy版本低于1.20无法升级,也可以使用Pandas的可空整数类型封装结构化数组,逻辑完全一致,仅需将dtype替换为pd.Int64Dtype()即可。

内容的提问来源于stack exchange,提问作者mknote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:15:04