我想要存储在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')
分配给新创建的表格的单元格工作正常,但通过float('nan')
将atom=tables.FloatAtom(dflt=float('nan'))
设置为默认值并不是因为我必须初始化新创建的手动表。
这怎么可能修复?或者有更好的方法吗?
答案 0 :(得分:0)
这是一个已知的错误,在此解释 - resid1=np.array(B.rx2('residuals'))
参数不执行任何操作:https://github.com/PyTables/PyTables/issues/423