更新時間:2022-09-27 來源:黑馬程序員 瀏覽量:
在Python中,當我們在處理數(shù)據(jù)時,可能會遇到數(shù)據(jù)類型不一致的問題。例如,通過爬蟲采集到的數(shù)據(jù)都是整型的數(shù)據(jù),在使用數(shù)據(jù)時希望保留兩位小數(shù)點,這時就需要將數(shù)據(jù)的類型轉換成浮點型。針對這種問題,既可以在創(chuàng)建Pandas對象時明確指定數(shù)據(jù)的類型,也可以使用astype()方法和to_numberic()函數(shù)進行轉換,下面先來介紹明確指定數(shù)據(jù)的類型。
創(chuàng)建Pandas數(shù)據(jù)對象時,如果沒有明確地指出數(shù)據(jù)的類型,則可以根據(jù)傳入的數(shù)據(jù)推斷出來,并且通過dtypes屬性進行查看。例如,創(chuàng)建一個Series對象,并查看其數(shù)據(jù)的類型,具體代碼如下。
In [19]: import pandas as pd df=pd.DataFrame({'A':['5', '6', '7'], 'B':['3', '2', '1']}) df.dtypes # 查看數(shù)據(jù)的類型 Out[19]: A object B object dtype:object
除此之外,還可以在創(chuàng)建Pandas對象時明確地指出數(shù)據(jù)的類型,即在使用構造方法創(chuàng)建對象時,使用dtype參數(shù)指定數(shù)據(jù)的類型,示例代碼如下。
In [20]: import pandas as pd # 創(chuàng)建DataFrame對象,數(shù)據(jù)的類型為int df=pd.DataFrame({'A': ['5', '6', '7'], 'B': ['3', '2', '1']}, dtype='int') df.dtypes Out[20]: A int32 B int32 dtype: object