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
Scroll To Top