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')
この Index
は pandas.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)
まとめ

操作 | 方法 | 備考 |
---|---|---|
行名の取得 | df.index | Index 型の配列を返す |
行名をリスト化 | list(df.index) | 普通のリストに変換 |
先頭の行名取得 | df.index[0] | インデックスは順序付き |
行名の変更 | df.index = [...] | 一括置き換えのみ可能 |
以上、Pandasで行名を取得する方法についてでした。
最後までお読みいただき、ありがとうございました。