本文目录一览:
用python处理一个1G左右的数据集,运行速度非常慢,怎样优化
第一个办法,降低数据集的大小。python处理数据,如果数据结构中的数据超过2GB,通常都会很慢。如何降低数据集大小,需要修改算法。
第二个办法,将数据结构采用数组array或者是numarray存贮。这样内存数量与查找效率都会提高。尽量不要使用大的dict。使用一个省内存的blist代替list
第三个办法,将数据通过共享内存,让C++扩展模块来处理。
常用的是第二种办法。就是换个数据结构就可以提高效率。
如何将python的浮点数由1e-5的精度,改为1e-3
方法一:使用格式化字符串来实现:
print "%e" % 0.0001
方法二:修改floatobject.c里format_float里snprintf的参数,然后重新编译。
如果解决了您的问题请采纳!
如果未解决请继续追问!
python:在module里float的精度变小了
print的精度有限,需要用py的格式语法
i=1.12345678901234567890
i
1.1234567890123457
'{:0.30f}'.format(i)
'1.123456789012345691247674039914'
print('{:0.30f}'.format(i)) #打印30位小数。
py的浮点是双精度的,有效数字大概只有14个,最好不超过10吧。
用于中间值好,记录准确数字不要用浮点,用decimal类。