在Python和MySQL中存储科学记数法的最有效方法

问题描述 投票:2回答:2

所以我试图存储很多数字,我想优化存储空间。

生成的很多数字具有相当高的精度浮点数,因此:0.000000213213或323224.23125523 - 长,高内存浮点数。

我想找出最好的方法,无论是在Python中使用MySQL(MariaDB) - 以最小的数据大小存储数字。

所以2.132e-7或3.232e5,只是为了基本上存储尽可能少的占用空间,我可以指定一个小数范围 - 但删除n位小数后的信息。

我假设存储为DOUBLE是可行的方法,但是我可以截断精度并节省空间吗?

我正在考虑使用Python中的一些数字格式化/截断,然后只是正常存储,因为DOUBLE可以工作 - 但实际上会节省任何空间,而不是立即存储附加了N个小数的双精度。

谢谢!

python mysql types double storage
2个回答
1
投票

所有python浮点数具有相同的精度并占用相同的存储量。如果你想减少整体存储numpy数组应该做的伎俩。


0
投票

另一方面,如果你试图通过json或xml最小化数字的表示,你可以使用f-strings。

>>> from math import pi
>>> pi
3.141592653589793

>>> f'{pi:3.2}.'
 '3.1.'
>>> bigpi = pi*10e+100
>>> bigpi
 3.141592653589793e+101

>>> f'{bigpi:3.2}'
 '3.1e+101'
© www.soinside.com 2019 - 2024. All rights reserved.