Pandasで行名を取得する方法について

Python,イメージ

AI実装検定のご案内

Pandasでは、行名(インデックス)はデータ分析やデータ加工の基礎となる重要な要素です。

この記事では、行名を取得・活用するための基本から応用までを、順を追って丁寧に解説します。

目次

行名(インデックス)とは何か?

Pandasでは、各行に自動または手動で設定される「識別子」がインデックス(=行名)です。

行を一意に識別するためのラベルとして使われます。

import pandas as pd

df = pd.DataFrame({
    '名前': ['田中', '鈴木', '佐藤'],
    '年齢': [25, 30, 22]
}, index=['A001', 'A002', 'A003'])

print(df)
       名前  年齢
A001  田中  25
A002  鈴木  30
A003  佐藤  22

この A001, A002, A003 が行名(インデックス)に相当します。

行名の基本的な取得方法:df.index

行名を取得するには、DataFrameの index 属性を参照します。

print(df.index)

出力は次のような Index オブジェクトになります。

Index(['A001', 'A002', 'A003'], dtype='object')

この Indexpandas.Index 型のイミュータブル(変更不可)な配列であり、リストのように扱えますが、完全なリストではありません。

型の確認

print(type(df.index))  # <class 'pandas.core.indexes.base.Index'>

行名をリストとして取得する方法

インデックスを通常のリストとして扱いたい場合は、list() で明示的に変換します。

row_names = list(df.index)
print(row_names)
# 出力: ['A001', 'A002', 'A003']

特定の行名を取り出す方法

Index オブジェクトは順序付きのため、リストのようなスライスも可能です。

print(df.index[:2])  # Index(['A001', 'A002'], dtype='object')

行名の変更・再設定方法

行名は個別に変更できないため、全体を一括で置き換える必要があります。

df.index = ['行1', '行2', '行3']
print(df)

まとめ

Python,イメージ
操作方法備考
行名の取得df.indexIndex型の配列を返す
行名をリスト化list(df.index)普通のリストに変換
先頭の行名取得df.index[0]インデックスは順序付き
行名の変更df.index = [...]一括置き換えのみ可能

以上、Pandasで行名を取得する方法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次