Pandas DataFrame.astype()函式
Minahil Noor
2023年1月30日
2021年1月22日
-
pandas.DataFrame.astype()
語法 -
示例程式碼:
DataFrame.astype()
方法改變一列資料型別 -
示例程式碼:
DataFrame.astype()
方法改變 DataFrame 所有列的資料型別 -
示例程式碼:
DataFrame.astype()
方法改變資料型別時有異常的情況
Python Pandas DataFrame.astype()
函式將物件的資料型別改變為指定的資料型別。
pandas.DataFrame.astype()
語法
DataFrame.astype(dtype,
copy=True,
errors='raise')
引數
dtype |
我們要分配給物件的資料型別。 |
copy |
布林引數。當 True 時返回一個副本。 |
errors |
它控制對所提供資料型別的無效資料引發異常。它有兩個選項。raise :允許引發異常。ignore :抑制異常。如果存在錯誤,那麼它將返回原始物件。 |
返回物件
它返回帶有資料型別的 DataFrame。
示例程式碼:DataFrame.astype()
方法改變一列資料型別
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data Types of the Data frame are: \n")
print(dataframe.dtypes)
dataframe1 = dataframe.astype({'Attendance': 'int32'}).dtypes
print("The Modified Data Types of the Data frame are: \n")
print(dataframe1)
輸出:
The Original Data Types of the Data frame are:
Attendance int64
Name object
Obtained Marks int64
dtype: object
The Modified Data Types of the Data frame are:
Attendance int32
Name object
Obtained Marks int64
dtype: object
該函式返回了轉換的資料型別。我們使用 dtypes()
函式來顯示 DataFrame 中各列的資料型別。
示例程式碼:DataFrame.astype()
方法改變 DataFrame 所有列的資料型別
我們將嘗試改變給定 DataFrame 的資料型別。
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data Types of the Data frame are: \n")
print(dataframe.dtypes)
dataframe1 = dataframe.astype('object').dtypes
print("The Modified Data Types of the Data frame are: \n")
print(dataframe1)
輸出:
The Original Data Types of the Data frame are:
Attendance int64
Name object
Obtained Marks int64
dtype: object
The Modified Data Types of the Data frame are:
Attendance object
Name object
Obtained Marks object
dtype: object
函式返回了修改後的 DataFrame,它已經將所有列的資料型別改為 object
。
示例程式碼:DataFrame.astype()
方法改變資料型別時有異常的情況
現在我們將資料型別 object
設定為 int32
。函式將忽略異常,因為我們將傳遞引數 errors= 'ignore'
。
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data Types of the Data frame are: \n")
print(dataframe.dtypes)
dataframe1 = dataframe.astype('int32', errors='ignore').dtypes
print("The Modified Data Types of the Data frame are: \n")
print(dataframe1)
輸出:
The Original Data Types of the Data frame are:
Attendance int64
Name object
Obtained Marks int64
dtype: object
The Modified Data Types of the Data frame are:
Attendance int32
Name object
Obtained Marks int32
dtype: object
請注意,函式沒有引發任何異常。它忽略了這個錯誤,因為我們將 object
轉為 int32
。它只是沒有改變 Name
列的資料型別。