pandas中的更改資料型別

2021-10-10 14:35:02 字數 2173 閱讀 5199

在處理資料時,可能會遇到資料型別不一致的問題。例如,通過爬蟲採集到的資料都是整型的資料,在使用資料時希望保留兩位小數點,這時就需要將資料的型別轉換成浮點型。針對這種問題,既可以建立pandas物件時明確指定資料的型別,也可以使用astype()方法to_numeric()函式進行轉換,具體如下。

一、通過astype()方法強制轉換資料的型別

astype(dtype,copy=true,errors=『raises』,kwargs)**

上述方法中的部分引數表示的含義如下:

1. dtype:表示資料的型別。

2. copy:是否建立副本,預設為true。

3. errors:錯誤採取的處理方式,可以取值為raise或ignore,預設為raise。其中raise表示允許引發異常,ingore表示抑制異常。

接下來通過**演示:

import pandas as pd                       #建立dataframe物件

jk=pd.dataframe()

jkjk.dtypes

jk['b'].astype(dtype='int') #轉換為int

#errors='ignore』的用法

jk['c'].astype(dtype='int',errors='ignore')
二、通過to_numeric()函式轉換資料型別astype()方法雖然可以轉換資料的型別,但是它存在著一些侷限性,只要待轉換的資料中存在數字以外的字元,在使用astype()方法進行型別轉換時就會出現錯誤,而to_numeric()函式可以解決這個問題。

to_numeric()函式可以將傳入的引數轉換為數值型別,語法如下:

pandas.to_numeric(arg,errors=『raise』,downcast=none)

上述函式中常用引數表示的含義如下:

arg:表示要轉換的資料,可以是list,tuple,series。

errors:錯誤採取的處理方式,引數有:「raise」,「coerce」,「ignore」.

(1)raise:無效的解析將引發異常

(2)coerce:無效的解析設定為nan              //這個在astype裡面沒有

(3)ignore:無效的解析將返回輸入

接下來通過**演示:

import pandas as pd       #to_numeric轉換的資料是list,tuple,series,不能直接對dataframe轉換

如果不使用該方法會出錯

在Pandas中更改列的資料型別

先看乙個非常簡單的例子 a a 1.2 4.2 b 70 0.03 x 5 0 df pd.dataframe a 有什麼方法可以將列轉換為適當的型別?例如,上面的例子,如何將列2和3轉為浮點數?有沒有辦法將資料轉換為dataframe格式時指定型別?或者是建立dataframe,然後通過某種方法更...

pandas之DataFrame更改資料的列位置

df 是dataframe物件 獲取df物件標題列表 cols list df 調位置 cols.insert 1 cols.pop cols.index 重組df物件排列順序 df df.ix cols ix ix是dataframe索引工具,既可以搜尋單個數值也可以搜尋乙個範圍內的數值,既可以通...

在Pandas中更改列的資料型別 方法總結

先看乙個非常簡單的例子 a a 1.2 4.2 b 70 0.03 x 5 0 df pd.dataframe a 有什麼方法可以將列轉換為適當的型別?例如,上面的例子,如何將列2和3轉為浮點數?有沒有辦法將資料轉換為dataframe格式時指定型別?或者是建立dataframe,然後通過某種方法更...