教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python數(shù)據(jù)預處理:通過astype()方法強制轉(zhuǎn)換數(shù)據(jù)的類型

更新時間:2022年11月01日09時41分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

  在Python中,通過astype()方法可以強制轉(zhuǎn)換數(shù)據(jù)的類型,其語法格式如下:

astype( dtype, copy=True, errors ='raise', ** kwargs)

  上述方法中部分參數(shù)表示的含義如下:

  (1)dtype:表示數(shù)據(jù)的類型。

  (2)copy:是否建立副本,默認為True。

  (3)errors:錯誤采取的處理方式,可以取值為raise或ignore,默認為raise。其中,raise表示允許引發(fā)異常,ignore表示抑制異常。

  接下來,通過一個示例來演示如何通過astype()方法來強制轉(zhuǎn)換數(shù)據(jù)的類型。

  首先,創(chuàng)建一個DataFrame對象,并且使用dtypes屬性查看數(shù)據(jù)的類型,具體代碼如下。

In [21]: import pandas as pd
         df=pd.DataFrame({'A': ['1', '1.2', '4.2'],
                          'B': ['-9', '70', '88'],
                          'C': ['x', '5.0', '0']})
         df.dtypes
Out[21]:
         A    object
         B    object
         C    object
         dtype: object

  從輸出結(jié)果看出,所有數(shù)據(jù)的類型均為object。

  然后,將B列數(shù)據(jù)的類型轉(zhuǎn)換為int類型,實現(xiàn)對指定列的數(shù)據(jù)進行類型轉(zhuǎn)換,示例代碼如下:

In [22]: df['B'].astype(dtype='int')          # 強制轉(zhuǎn)換為int類型
Out[22]:
         0    -9
         1    70
         2    88
         Name: B,    dtype:int32

  需要注意的是,這里并沒有將所有列進行類型轉(zhuǎn)換,主要是因為C列中有非數(shù)字類型的字符,無法將其轉(zhuǎn)換為int類型,若強制轉(zhuǎn)換會出現(xiàn)ValueError異常。

0 分享到:
和我們在線交談!