TShopping

 找回密碼
 註冊
搜索
查看: 715|回復: 0

[教學] python pandas to_numeric用法及代碼示例

[複製鏈接]
發表於 2021-12-5 21:42:09 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
用法
  1. pandas.to_numeric(arg, errors='raise', downcast=None)
複製代碼

將參數轉換為數字類型。
默認返回dtype為float64或者int64取決於提供的數據。使用downcast參數以獲取其他dtype。
請注意,如果傳入非常大的數字,則可能會導致精度損失。ndarray,如果數字小於-9223372036854775808(np.iinfo(np.int64).min)或大於18446744073709551615(np.iinfo(np.uint64).max)傳入,很可能會將它們轉換為float以便將其存儲在ndarray。這些警告類似地適用於Series因為它在內部發揮了作用ndarray。
參數:
arg:scalar, list, tuple, 1-d array, 或 Series
errors:{‘ignore’, ‘raise’, ‘coerce’}, 默認為 ‘raise’
如果為‘raise’,則無效的解析將引發異常。

如果為‘coerce’,則將無效解析設置為NaN。

如果為‘ignore’,則無效的解析將返回輸入。

downcast:
{‘integer’, ‘signed’, ‘unsigned’, ‘float’}, 默認為 None
如果不是None,並且數據已成功轉換為數字dtype(或者數據是從數字開始的),則根據以下規則將結果數據轉換為可能的最小數字dtype:
‘integer’或‘signed’:最小有符號整數類型(最小值:np.int8)
‘unsigned’:最小的無符號整數dtype(最小值:np.uint8)
‘float’:最小浮點dtype(最小值:np.float32)
由於此行為與內核轉換為數值的行為是分開的,因此無論‘errors’輸入的值如何,在向下轉換期間引發的任何錯誤都將浮出水面。

此外,僅當結果數據的dtype的大小嚴格大於要強製轉換為dtype的dtype時,才會發生向下轉換,因此,如果檢查的所有dtype都不滿足該規範,則不會對該數據執行向下轉換。


返回值:
ret:如果解析成功,則為數字。
返回類型取決於輸入。如果為Series,則為Series,否則為ndarray。

例子:
採取單獨的 Series 並轉換為數字,當被告知時強製
  1. >>> s = pd.Series(['1.0', '2', -3])
  2. >>> pd.to_numeric(s)
  3. 0    1.0
  4. 1    2.0
  5. 2   -3.0
  6. dtype:float64
  7. >>> pd.to_numeric(s, downcast='float')
  8. 0    1.0
  9. 1    2.0
  10. 2   -3.0
  11. dtype:float32
  12. >>> pd.to_numeric(s, downcast='signed')
  13. 0    1
  14. 1    2
  15. 2   -3
  16. dtype:int8
  17. >>> s = pd.Series(['apple', '1.0', '2', -3])
  18. >>> pd.to_numeric(s, errors='ignore')
  19. 0    apple
  20. 1      1.0
  21. 2        2
  22. 3       -3
  23. dtype:object
  24. >>> pd.to_numeric(s, errors='coerce')
  25. 0    NaN
  26. 1    1.0
  27. 2    2.0
  28. 3   -3.0
  29. dtype:float64
複製代碼

源碼:
pandas.to_numeric的API實現見:[源代碼]
文章出處

 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2022-5-19 00:34 , Processed in 5.081556 second(s), 22 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表