【发布时间】:2018-02-26 10:57:02
【问题描述】:
我想要存储在 PyTables HDF5 表中的所有值都是实数,这使得选择二维数组而不是常规表是合乎逻辑的。但是对于数组的许多单元格,该值可能不可用(并且稍后变得可用)并且唯一合理简单的方法来表明这一点似乎将 NaN 分配给单元格(据我所知,您不能只将 None 放在那里)。
我通过以下方式创建了表格:
with tables.open_file(file_full_name, 'a') as file:
table = table_file.create_array(where=table_file.root,
name='main',
atom=tables.FloatAtom(dflt=float('nan')),
shape=(table_length, table_width))
但是结果表被零填充 (0.0),而不是 NaN。
将float('nan') 分配给新创建的表的单元格可以正常工作,但通过atom=tables.FloatAtom(dflt=float('nan')) 将float('nan') 设置为默认值则不行,所以我必须手动初始化新创建的表。
这怎么可能解决?或者有没有更好的办法?
【问题讨论】:
标签: arrays python-3.x nan hdf5 pytables