在Python和MySQL中存储科学记数法的最有效方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python和MySQL中存储科学记数法的最有效方法相关的知识,希望对你有一定的参考价值。
所以我试图存储很多数字,我想优化存储空间。
生成的很多数字具有相当高的精度浮点数,因此:0.000000213213或323224.23125523 - 长,高内存浮点数。
我想找出最好的方法,无论是在Python中使用MySQL(MariaDB) - 以最小的数据大小存储数字。
所以2.132e-7或3.232e5,只是为了基本上存储尽可能少的占用空间,我可以指定一个小数范围 - 但删除n位小数后的信息。
我假设存储为DOUBLE是可行的方法,但是我可以截断精度并节省空间吗?
我正在考虑使用Python中的一些数字格式化/截断,然后只是正常存储,因为DOUBLE可以工作 - 但实际上会节省任何空间,而不是立即存储附加了N个小数的双精度。
谢谢!
答案
所有python浮点数具有相同的精度并占用相同的存储量。如果你想减少整体存储numpy数组应该做的伎俩。
另一答案
另一方面,如果你试图通过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'
以上是关于在Python和MySQL中存储科学记数法的最有效方法的主要内容,如果未能解决你的问题,请参考以下文章
在 Raspberry Pi 上使用 Python 从传感器存储数据的最有效方法
将数千条记录插入表中的最有效方法是啥(MySQL,Python,Django)