簡體   English   中英

在相同的 pandas 數據上運行相同的腳本會產生非常不同的數據幀浮點值

[英]Running the same script on the same pandas data produces very slightly different dataframes floating-point values

我正在執行我之前在相同數據上運行過的腳本。 我得到的 dataframe 僅與前一個略有不同(在小數點后 10 位左右)。 例如:

  • 在某些列(和行)中,舊的 dataframe 包含價格 5673391.88。
  • 在新 dataframe 的同一列和同一行中,該值似乎完全相同(5673391.88)。
  • 但是,如果我減去這兩列,我會得到 -9.445123e-10 的差異。

這當然是整個列的情況,而不僅僅是特定的行。 這個怎么可能? 請注意,我無法確認兩個腳本運行之間的相同環境(熊貓或 Python 版本)。 這可能是這兩個原因之一嗎? 還有什么?

一個可能的原因: 26 Dec 2020發布的Pandas 1.2.0 ,他們強調了這個問題

更改 read_csv 和 read_table 的默認浮動精度

方法read_csv()read_table()可能相對於精度的最后一位稍微錯誤地讀取floating point

在此版本之前, floating_precision="high"始終可以避免此問題。

但是,在這個版本中,默認值現在是floating_precision=None以使精度更加准確。 它不會對性能產生任何影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM