📜  Python| pandas.to_numeric 方法(1)

📅  最后修改于: 2023-12-03 15:19:16.433000             🧑  作者: Mango

Python | pandas.to_numeric 方法

简介

pandas.to_numeric() 方法是一种将一个对象转换成数值类型的方法。该方法是一个通用型函数,支持将字符串、浮点数、整型数以及其他数值型数据类型转换成数值型数据类型。

返回值

pandas.to_numeric() 方法返回一个 Series 或 DataFrame,其数据类型被转换成数值型类型。

语法
pandas.to_numeric(arg, errors='raise', downcast=None)
参数说明
  • arg: 需要被转换的对象。支持以下几种类型:

    • scalar: 任何支持的 Python 数值类型。
    • str: 在排除 errors 之后尝试将字符串转换成数值型类型。如果不能转换,则返回原始值。字符串中允许存在各种 Python 支持的数值类型。
    • list, tuple: 无论如何结果都会被转换成 ndarray 类型。
    • Series: 返回一个 Series。
    • DataFrame: 返回一个 DataFrame,但是只转换 DataFrame 中的数值型类型,不转换字符串类型。
  • errors: 可选。允许三种不同的值: 'raise' (default), 'coerce' 和 'ignore'。

    • 'raise': 如果不能转换,则抛出异常。
    • 'coerce': 如果不能转换,则将非数值型对象替换成 NaN。
    • 'ignore': 如果不能转换,返回原始值。
  • downcast: 可选。在转换时,可以选用比原始类型更好的类型。可用的值包括:'integer', 'signed', 'unsigned', 'float'。

示例代码
import pandas as pd

# 示例1
s = pd.Series(['1.0', '2', '-3'])
print(pd.to_numeric(s))

# 示例2
df = pd.DataFrame({'A': ['1', '2', '3'], 'B': ['4', '5', '6']})
print(pd.to_numeric(df['A'], errors='coerce'))

# 示例3
df2 = pd.DataFrame({'A': ['1', '2', '3'], 'B': ['4', '5', '6.0']})
print(pd.to_numeric(df2['B'], errors='coerce'))

输出结果为:

0    1.0
1    2.0
2   -3.0
dtype: float64
0    1.0
1    2.0
2    3.0
Name: A, dtype: float64
0    4.0
1    5.0
2    6.0
Name: B, dtype: float64

以上示例演示了如何使用 pandas.to_numeric() 将字符串类型或者其他类型的值转换成数值型类型。

第一个示例将一个 Series 对象转换成数值型对象,在转换过程中,pandas.to_numeric() 尝试将字符串类型或者其他类型的值转换成数值型类型,对于不能被转换的值,则返回原始值。

第二个示例将一个 DataFrame 中的字符串类型的一列转换成数值型类型,并使用了 'coerce' 参数将不能被转换的值替换成 NaN。

第三个示例将一个 DataFrame 中的字符串类型的一列转换成数值型类型,并使用了 'coerce' 参数将不能被转换的值替换成 NaN。