Pandas DataFrame.astype() 関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.astype() の構文:
  2. コード例:DataFrame.astype() 1つのカラムのデータ型を変更するメソッド
  3. コード例:DataFrame.astype() データフレームの全列のデータ型を変更するメソッド
  4. コード例:DataFrame.astype() 例外を用いてデータ型を変更するメソッド
Pandas DataFrame.astype() 関数

Python Pandas DataFrame.astype() 関数は、オブジェクトのデータ型を指定したデータ型に変更します。

pandas.DataFrame.astype() の構文:

DataFrame.astype(dtype, copy=True, errors="raise")

パラメータ

dtype オブジェクトに割り当てたいデータ型。
copy ブール値のパラメータ。True の場合はコピーを返します。
errors これは、提供されたデータ型の無効なデータに対して例外を発生させることを制御します。これには 2つのオプションがあります。
raise: 例外の発生を許可します。
ignore: 例外を抑制します。エラーが存在する場合は、元のオブジェクトを返します。

戻り値

データ型をキャストしたデータフレームを返します。

コード例:DataFrame.astype() 1つのカラムのデータ型を変更するメソッド

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.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('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

この関数は変更されたデータフレームを返しました。これにより、すべてのカラムのデータ型が object に変更されました。

コード例:DataFrame.astype() 例外を用いてデータ型を変更するメソッド

ここではデータ型 objectint32 に設定します。パラメータ 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

この関数は例外を発生させていないことに注意してください。objectint32 にキャストしているので、この関数はエラーを無視しています。これは単に Name カラムのデータ型を変更していないだけです。

関連記事 - Pandas DataFrame