【Python】Pandas DataFrameのデータ型をastype()で変換する方法
Pandasのastype()メソッドとは
Pandasでは、astype()メソッドを使用することで、DataFrameの列(カラム)のデータ型を別のデータ型へ簡単に変換できます。まず、必要なライブラリをインポートしましょう。
import pandas as pd
DataFrameの作成
次に、DataFrameを作成します。ここでは「Reg_Price」(float型)と「Units」(int型)の2つの列を持つデータを用意しました。
dataFrame = pd.DataFrame(
{
"Reg_Price": [7000.5057, 1500, 5000, 8000, 9000.75768, 6000],
"Units": [90, 120, 100, 150, 200, 130]
}
)
現在のデータ型を確認する
dtypesプロパティを使うと、作成した各列のデータ型を確認できます。
dataFrame.dtypes
int32型に変換する
すべての列のデータ型をint32型に変換するには、以下のように記述します。
dataFrame.astype('int32').dtypes
サンプルコード
以下が完全なコード例です。
import pandas as pd
# DataFrameを作成
dataFrame = pd.DataFrame(
{
"Reg_Price": [7000.5057, 1500, 5000, 8000, 9000.75768, 6000],
"Units": [90, 120, 100, 150, 200, 130]
}
)
print("DataFrame ...\n", dataFrame)
print("\nDataFrameのデータ型 ...\n", dataFrame.dtypes)
print("\nすべての列をint32にキャスト...")
print("\n更新後のDataFrameのデータ型 ...\n", dataFrame.astype('int32').dtypes)
実行結果
上記のコードを実行すると、以下のような出力が得られます。
DataFrame ... Reg_Price Units 0 7000.50570 90 1 1500.00000 120 2 5000.00000 100 3 8000.00000 150 4 9000.75768 200 5 6000.00000 130 DataFrameのデータ型 ... Reg_Price float64 Units int64 dtype: object すべての列をint32にキャスト... 更新後のDataFrameのデータ型 ... Reg_Price int32 Units int32 dtype: object
まとめ
astype()メソッドを使えば、float64型やint64型などの既存のデータ型を、int32型など任意のデータ型に一括して変換できます。メモリ使用量の削減や、特定の処理に適した型への統一など、データ前処理の場面で非常に便利な機能なので、ぜひ活用してみてください。
-
【Python】Pandasのreplace()メソッドでDataFrameの値を別のDataFrameの値に置き換える方法
Pandasでは、replace()メソッドを使うことで、あるDataFrameの値を別のDataFrameから取得した値に簡単に置き換えることができます。この記事では、2つのDataFrameを作成し、片方の値をもう片方の値で置き換える手順を、サンプルコードと実行結果とともにわかりやすく解説します。 基本的な流れ まず、元となる1つ目のDataFrameを作成します。 dataFrame1 = pd.DataFrame({Car: [Audi, Lamborghini], Place: [US, UK], Units: [200, 500]}) 次に、置き換え先となる2つ目のDataFram
-
Pythonでネストした辞書のリストをPandasデータフレームに変換する方法
Pythonでは、CSVやJSONなどさまざまな形式のデータソースからデータを受け取ることが多く、それらはリストや辞書といったPythonオブジェクトへと変換できます。しかし、pandasなどのライブラリを使って計算や分析を行うには、そのデータをデータフレーム(DataFrame)に変換する必要があります。この記事では、「ネストした辞書」を要素として持つPythonのリストを、pandasのデータフレームへ変換する手順を解説します。変換の基本的な流れまず、ネストした辞書のリストから各行のデータを抽出します。次にforループを使って、あらかじめ空で作成しておいた新しいリストへ行データを追加してい