所以我试图存储很多数字,我想优化存储空间。
生成的大量数字具有相当高的精度浮点数,因此: 0.000000213213或323224.23125523 - 长,高内存浮点数。
我想弄清楚Python和MySQL(MariaDB)的最佳方法 - 存储数据量最小的数字。
所以2.132e-7或3.232e5,基本上只是用尽可能少的足迹存储它,我可以指定一个小数范围 - 但是在n个小数后删除信息。
我假设存储为DOUBLE是可行的方法,但我是否可以截断精度并节省空间?
我正在考虑使用Python中的数字格式化/截断,然后只是正常存储,因为DOUBLE可以工作 - 但这实际上会节省任何空间,而不是立即存储附加了N位小数的双精度。
谢谢!
答案 0 :(得分:1)
所有python浮点数具有相同的精度并占用相同的存储量。如果你想减少整体存储,那么numpy数组应该可以解决问题。
答案 1 :(得分:0)
>>> 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'