pandas.to_numeric¶
-
pandas.
to_numeric
(arg, errors='raise', downcast=None)[source]¶ 将参数转换为数字类型。
参数: arg:list,tuple,1-d数组或Series
错误:{'ignore','raise','coerce'},默认'raise'
- 如果'raise',那么无效的解析将引发异常
- 如果'coerce',那么无效的解析将被设置为NaN
- 如果'ignore',那么无效的解析将返回输入
downcast:{'integer','signed','unsigned','float'},默认值为None
如果不是无,并且如果数据已成功地转换为数字dtype(或如果数据是数字开始),则将结果数据向下转换为可能的最小数字dtype,根据以下规则:
- 'integer'或'signed':最小signed int dtype(min。:np.int8)
- 'unsigned':最小无符号整型dtype(min。:np.uint8)
- 'float':最小float dtype(min。:np.float32)
由于这种行为与核心转换到数字值是分开的,所以在向下转换期间引发的任何错误都将被抛出,而不管“错误”输入的值。
此外,只有当结果数据的dtype的大小严格大于要转换的dtype的大小时,才会进行向下转换,因此如果所检查的dty都不满足该规范,则不会对数据执行向下转换。
版本0.19.0中的新功能。
返回: ret:numeric如果解析成功。
返回类型取决于输入。系列如果系列,否则ndarray
例子
采取单独的系列,并转换为数字,胁迫时被告知
>>> import pandas as pd >>> 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