Arrays 如何使用NAN初始化PyTables浮点数组?

Arrays 如何使用NAN初始化PyTables浮点数组?,arrays,python-3.x,nan,hdf5,pytables,Arrays,Python 3.x,Nan,Hdf5,Pytables,我想要存储在PyTables HDF5表中的所有值都是实数,这使得选择2D数组而不是常规表是合乎逻辑的。但对于数组中的许多单元格,该值可能不可用(并且在以后变得可用),唯一合理简单的指示方法似乎是将NaN指定给单元格(据我所知,您不能将None放在那里) 我已通过以下方式创建了表: with tables.open_file(file_full_name, 'a') as file: table = table_file.create_array(where=table_file.roo

我想要存储在PyTables HDF5表中的所有值都是实数,这使得选择2D数组而不是常规表是合乎逻辑的。但对于数组中的许多单元格,该值可能不可用(并且在以后变得可用),唯一合理简单的指示方法似乎是将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将
float('nan')
设置为默认值。FloatAtom(dflt=float('nan'))
不能,因此我必须手动初始化新创建的表


这怎么可能解决呢?或者有更好的方法吗?

这是一个已知的错误,这里解释了-
dflt
参数不起任何作用: