Pandas で列の型を変更する方法 (例付き)


pandas DataFrame の列は、次のいずれかのタイプを取ることができます。

  • オブジェクト(文字列)
  • int64 (整数)
  • float64 (小数点以下の数値)
  • bool (true または false の値)
  • datetime64 (日付と時刻)

列をあるデータ型から別のデータ型に変換する最も簡単な方法は、 astype()関数を使用することです。

astype()関数で次のメソッドを使用すると、列をあるデータ型から別のデータ型に変換できます。

方法 1: 列を別のデータ型に変換する

 df[' col1 '] = df[' col1 ']. astype (' int64 ')

方法 2: 複数の列を別のデータ型に変換する

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')

方法 3: すべての列を別のデータ型に変換する

 df = df. astype (' int64 ')

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' ID ': ['1', '2', '3', '4', '5', '6'],
                   ' tenure ': [12.443, 15.8, 16.009, 5.06, 11.075, 12.9546],
                   ' sales ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

  ID tenure sales
0 1 12.4430 5
1 2 15.8000 7
2 3 16.0090 7
3 4 5.0600 9
4 5 11.0750 12
5 6 12.9546 9

#view data type of each column
print ( df.dtypes )

object ID
tenure float64
dirty int64
dtype:object

例 1: 列を別のデータ型に変換する

次のコードは、 astype()関数を使用してtenure列を浮動小数点から整数に変換する方法を示しています。

 #convert tenure column to int64
df[' tenure '] = df[' tenure ']. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

object ID
tenure int64
dirty int64
dtype:object

tenure列は int64 に変換され、他のすべての列は元のデータ型を保持していることに注意してください。

例 2: 複数の列を別のデータ型に変換する

次のコードは、 astype()関数を使用してID 列tenure列を整数に変換する方法を示しています。

 #convert ID and tenure columns to int64
df[[' ID ', ' tenure ']] = df[[' ID ', ' tenure ']]. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

ID int64
tenure int64
dirty int64
dtype:object

ID 列tenure列が int64 に変換されていることに注意してください。

例 3: すべての列を別のデータ型に変換する

次のコードは、 astype()関数を使用して DataFrame 内のすべての列を整数データ型に変換する方法を示しています。

 #convert all columns to int64
df = df. astype (' int64 ')

#view updated data type for each column
print ( df.dtypes )

ID int64
tenure int64
dirty int64
dtype:object

すべての列が int64 に変換されていることに注意してください。

: pandas astype()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的な変換を実行する方法を説明します。

Pandas DataFrame 列を文字列に変換する方法
Pandasでタイムスタンプを日付/時刻に変換する方法
Pandas で DateTime を日付に変換する方法
Pandas で文字列を float に変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です