Python pandas.to_numeric方法
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
pandas.to_numeric()是Pandas的一个通用函数,用于将参数转换为数字类型。
语法: pandas.to_numeric(arg, errors=’raise’, downcast=None)
参数:
arg : list, tuple, 1-d array, or Series
errors: {‘ignore’, ‘raise’, ‘coerce’},, 默认’raise’。
– > 如果是’raise’,那么无效的解析将引发一个异常
– > 如果’coerce’,那么无效的解析将被设置为NaN
– > 如果’ignore’,那么无效的解析将返回输入值
downcast : [default None] 如果不是None,并且如果数据已经成功地投递到一个数字dtype,那么根据以下规则,将产生的数据下调到最小的数字dtype。
– > ‘整数’或’有符号’:最小的有符号int dtype(最小:np.int8)。
– > ‘unsigned’: 最小的无符号int dtype (min. : np.uint8)
– > ‘float’: 最小的float dtype (min. : np.float32)
返回:数字,如果解析成功。注意,返回类型取决于输入。如果是系列,则为系列,否则为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列上调用系列构造函数,然后选择前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')
输出: