本文目錄一覽:
用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類。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/312924.html