Python| pandas.to_numeric 方法
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas 就是其中之一,它使导入和分析数据变得更加容易。
pandas.to_numeric()
是 Pandas 中的通用函数之一,用于将参数转换为数字类型。
Syntax: pandas.to_numeric(arg, errors=’raise’, downcast=None)
Parameters:
arg : list, tuple, 1-d array, or Series
errors : {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’
-> If ‘raise’, then invalid parsing will raise an exception
-> If ‘coerce’, then invalid parsing will be set as NaN
-> If ‘ignore’, then invalid parsing will return the input
downcast : [default None] If not None, and if the data has been successfully cast to a numerical dtype downcast that resulting data to the smallest numerical dtype possible according to the following rules:
-> ‘integer’ or ‘signed’: smallest signed int dtype (min.: np.int8)
-> ‘unsigned’: smallest unsigned int dtype (min.: np.uint8)
-> ‘float’: smallest float dtype (min.: np.float32)
Returns: numeric if parsing succeeded. Note that return type depends on input. Series if Series, otherwise ndarray.
代码#1:
首先观察这个数据集。我们将使用此数据的“数字”列来制作系列,然后进行操作。
# importing pandas module
import pandas as pd
# making data frame
df = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
df.head(10)
在 Number 列上调用 Series 构造函数,然后选择前 10 行。
# importing pandas module
import pandas as pd
# making data frame
df = pd.read_csv("nba.csv")
# get first ten 'numbers'
ser = pd.Series(df['Number']).head(10)
ser
输出:
使用 pd.to_numeric() 方法。请注意,通过使用 downcast='signed',所有值都将转换为整数。
pd.to_numeric(ser, downcast ='signed')
输出:
代码#2:使用errors='ignore'。它将忽略所有非数字值。
# importing pandas module
import pandas as pd
# get first ten 'numbers'
ser = pd.Series(['Geeks', 11, 22.7, 33])
pd.to_numeric(ser, errors ='ignore')
输出:
代码#3:使用errors='coerce'。它将用 NaN 替换所有非数字值。
# importing pandas module
import pandas as pd
# get first ten 'numbers'
ser = pd.Series(['Geeks', 11, 22.7, 33])
pd.to_numeric(ser, errors ='coerce')
输出: