Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Pandas】astype()でIndexのdtypeを変換する方法を徹底解説

Pandasのastype()でIndexのdtypeを変換する方法

値を指定したdtypeにキャストしたIndexを作成したい場合は、Pandasのindex.astype()メソッドを使用します。astype()は元のIndexオブジェクトを変更せず、dtypeを変換した新しいIndexを返すのが特徴です。

まず、必要なライブラリをインポートしましょう。

import pandas as pd

ステップ1:Pandasのインデックスを作成する

ここでは、float型(小数)の値を含むインデックスを作成します。

index = pd.Index([50.4, 10.2, 70.5, 110.5, 90.8, 50.6])

ステップ2:インデックスを表示する

print("Pandas Index...\n", index)

ステップ3:データ型をint64に変換する

astype()メソッドに変換先のdtypeを文字列で渡すだけで変換できます。

index.astype('int64')

サンプルコード全体

以下が、これまでの手順をまとめた完全なコード例です。

import pandas as pd

# Pandasのインデックスを作成
index = pd.Index([50.4, 10.2, 70.5, 110.5, 90.8, 50.6])

# インデックスを表示
print("Pandas Index...\n", index)

# インデックス内の要素数を取得
print("\nNumber of elements in the index...\n", index.size)

# データのdtypeを確認
print("\nThe dtype object...\n", index.dtype)

# dtypeをint64に変換して表示
print("\nIndex object after converting type...\n", index.astype('int64'))

実行結果

上記のコードを実行すると、次のような出力が得られます。

Pandas Index...
Float64Index([50.4, 10.2, 70.5, 110.5, 90.8, 50.6], dtype='float64')

Number of elements in the index...
6

The dtype object...
float64

Index object after converting type...
Int64Index([50, 10, 70, 110, 90, 50], dtype='int64')

押さえておきたいポイント

① 元のオブジェクトは変更されない
astype()は非破壊的なメソッドです。変換後のIndexを使いたい場合は、new_index = index.astype('int64')のように戻り値を変数に代入してください。

② 小数は切り捨てられる
floatからintへの変換では、小数部分が切り捨てられます(例:50.4 → 50)。四捨五入したい場合は、index.round().astype('int64')のように事前にround()を組み合わせましょう。

③ バージョンによる表示の違いに注意
Pandas 2.0以降では、Float64IndexやInt64Indexといった専用クラス名は廃止されています。そのため、最近のバージョンでは出力がIndex([50, 10, 70, 110, 90, 50], dtype='int64')のように表示されますが、動作自体は同じです。


  1. Python Pandas入門:putmask()でマスク条件に基づく新しいインデックスを生成する方法

    はじめにマスク(条件式)を使って値を置き換えた新しいインデックスを取得したい場合は、Pandasのindex.putmask()メソッドを使用します。このメソッドは、指定した条件がTrueとなる要素を、別の値で置き換えた新しいIndexオブジェクトを返します。まず、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、数値を含むPandasインデックスを作成します。index = pd.Index([5, 65, 10, 17, 75, 40])作成したインデックスを表示して確認してみましょう。print(Pandas Index..

  2. Seaborn – Python Pandasでポイントプロットを作成する方法

    Pythonのデータ可視化ライブラリ「Seaborn」には、ポイントプロット(点グラフ)を簡単に作成できる seaborn.pointplot() 関数が用意されています。この記事では、PandasのDataFrameと組み合わせて、ポイントプロットを作成する基本的な手順を解説します。サンプルとして、クリケット選手の情報をまとめたCSVファイル「Cricketers.csv」を使用します。必要なライブラリのインポートまず、可視化に必要な3つのライブラリをインポートします。import seaborn as sb import pandas as pd import matplotlib.pyp