2012-11-21 19 views
0

我提取該使用與Python(我使用python所述一個)R產生的大的CSV文件(200MB)大。numpy的保存文件比原來的

我對文件做了一些修改(規範化,縮放,刪除垃圾列等),然後使用numpy的savetxt將數據分隔符另存爲','以保存csv屬性。

事情是,新文件幾乎是兩倍,比原來的(幾乎400MB)大。原始數據以及新數據只是浮點數組。

如果有幫助,這看起來好像新的文件具有非常小的值,需要的指數值,原來沒有。

關於爲什麼會發生這種情況的任何想法?

回答

2

你看着漂浮在文本前後表現的方式?你可能會有一行「1.,2.,3」。變成「1.000000e + 0,2000000e + 0,3.000000e + 0」或類似的東西,兩者都是有效的,並且兩者都代表相同的數字。

然而,更有可能的是,如果原始文件包含浮點數值相對較少的有效數字(例如「1.1,2.2,3.3」),在進行歸一化和縮放後,您將創建更多的數字,需要用來表示數學結果,但不符合實際精度的增加(例如,在最後一個例子中將值的總和標準化爲1.0,得出「0.1666666,0.333333,0.5」)。

我想簡單的答案是不存在用於表示爲文本佔據的存儲空間的任何特定量浮子不能保證(和不要求),或小於每浮動的最大可能的;即使數據保持不變,數據也會有很大差異,如果數據發生變化,數據肯定會有所不同。

相關問題