这对我的问题可能有点过头了,但我很好奇答案。
我有一个np.float32
值矩阵,我希望将其放入一些代码中。它是50x3所以我想直接把它放在源代码中 - 它不会经常发生变化。它对舍入有点敏感,所以如果可能的话我想对数据完全进行编码。有没有一种好的方法在源代码中执行此操作同时还保留矩阵格式?
我正在考虑放置[[0xC45B36F3,...],...]并以某种方式将其编码为np.float32
。
答案 0 :(得分:2)
为什么不使用内置的numpy.save
?我已经尝试了几个float32输入,而numpy.load
没有舍入问题。
或者你有什么理由不能或不想那样做?
答案 1 :(得分:2)
如果您选择对整数值进行编码,则可以执行以下操作:
swf
答案 2 :(得分:1)
您可以以字节转换矩阵m
:
m.tobytes()
然后将其粘贴到代码中:
data=b'\x34f\xd3.......paste the 4*50*3 bytes here ......\x12'
在您可以重建精确矩阵之后:
m=matrix(frombuffer(data,float32).reshape(50,3))
没有任何损失。