在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中存储科学记数法的最有效方法的主要内容,如果未能解决你的问题,请参考以下文章

在MySQL中存储IP地址的最有效方法[重复]

在 Raspberry Pi 上使用 Python 从传感器存储数据的最有效方法

将数千条记录插入表中的最有效方法是啥(MySQL,Python,Django)

使用 python 在 sqlite3 数据库中存储大量 API 数据的最有效方法

在 Django 模型中存储列表的最有效方法是啥?

在数据库中的一组记录上存储排序顺序的最有效方法是啥? [关闭]