更新時(shí)間:2022-11-01 來源:黑馬程序員 瀏覽量:
astype()方法雖然可以轉(zhuǎn)換數(shù)據(jù)的類型,但是它存在著一些局限性,只要轉(zhuǎn)換的數(shù)據(jù)中存在數(shù)字以外的字符,在使用astype()方法進(jìn)行類型轉(zhuǎn)換時(shí)就會(huì)出現(xiàn)錯(cuò)誤,而to_numeric()函數(shù)的出現(xiàn)正好解決了這個(gè)問題。
to_numeric()函數(shù)可以將傳入的參數(shù)轉(zhuǎn)換為數(shù)值類型,其語法格式如下:
pandas.to_numeric(arg, errors='raise', downcast=None)
上述函數(shù)中常用參數(shù)表示的含義如下:
(1)arg:表示要轉(zhuǎn)換的數(shù)據(jù),可以是list、tuple、Series。
(2)errors:錯(cuò)誤采取的處理方式。
為了讓讀者更好地理解,接下來,通過一個(gè)示例來演示如何將只包含數(shù)字的字符串轉(zhuǎn)換為數(shù)字類型,具體代碼如下。
In [23]: import pandas as pd ser_obj=pd.Series(['1', '1.2', '4.2']) ser_obj Out[23]: 0 1 1 1.2 2 4.2 dtype: object In [24]: # 轉(zhuǎn)換object類型為float類型 pd.to_numeric(ser_obj, errors='raise') Out[24]: 0 1.0 1 1.2 2 4.2 dtype: float64
注意:to_numeric()函數(shù)是不能直接操作DataFrame對(duì)象的。