用法- 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 並轉換為數字,當被告知時強製 - >>> s = pd.Series(['1.0', '2', -3])
 
 - >>> pd.to_numeric(s)
 
 - 0    1.0
 
 - 1    2.0
 
 - 2   -3.0
 
 - dtype:float64
 
 - >>> pd.to_numeric(s, downcast='float')
 
 - 0    1.0
 
 - 1    2.0
 
 - 2   -3.0
 
 - dtype:float32
 
 - >>> pd.to_numeric(s, downcast='signed')
 
 - 0    1
 
 - 1    2
 
 - 2   -3
 
 - dtype:int8
 
 - >>> s = pd.Series(['apple', '1.0', '2', -3])
 
 - >>> pd.to_numeric(s, errors='ignore')
 
 - 0    apple
 
 - 1      1.0
 
 - 2        2
 
 - 3       -3
 
 - dtype:object
 
 - >>> pd.to_numeric(s, errors='coerce')
 
 - 0    NaN
 
 - 1    1.0
 
 - 2    2.0
 
 - 3   -3.0
 
 - dtype:float64
 
  複製代碼 
源碼:pandas.to_numeric的API實現見:[源代碼] 文章出處 
 |