Python の Pandas でカラム名を取得する方法はいくつかあり、用途に応じて使い分けられます。
ここでは、基礎から応用まで丁寧に解説します。
目次
基本的なカラム名の取得
Pandas の DataFrame
には、カラム名をまとめた columns
属性があります。
import pandas as pd
# サンプルの DataFrame
df = pd.DataFrame({
"name": ["Alice", "Bob", "Charlie"],
"age": [25, 30, 35],
"city": ["Tokyo", "Osaka", "Nagoya"]
})
# カラム名を確認
print(df.columns)
ここで返ってくるのは Index
オブジェクトです。
リストではありませんが、リストと似たように扱えます。
リスト形式でカラム名を取得する
処理の中で使いやすいように、カラム名をリストに変換するのが一般的です。
col_list = df.columns.tolist()
print(col_list)
tolist()
を使えば、Index
からシンプルな Python のリストになります。
特定のカラム名を取得する
位置を指定して取り出すこともできます。
# 最初のカラム名
print(df.columns[0]) # -> 'name'
# 2番目のカラム名
print(df.columns[1]) # -> 'age'
for ループでカラム名を順番に処理
カラムごとに処理したいときはループが便利です。
for col in df.columns:
print(col)
カラム名の検索や条件抽出
正規表現や条件を使ってカラム名を絞り込むことも可能です。
# 'a' を含むカラム名だけ抽出
cols_with_a = [c for c in df.columns if "a" in c]
print(cols_with_a)
カラム名を扱う実用例
カラムのリネーム
df.rename(columns={"name": "full_name"}, inplace=True)
print(df.head())
カラムの存在チェック
if "age" in df.columns:
print("age カラムは存在します")
応用テクニック
- ソートして取得
sorted_cols = sorted(df.columns.tolist()) print(sorted_cols)
- カラム数を取得
num_cols = len(df.columns) print(f"カラム数: {num_cols}")
- 列のデータ型とセットで確認
print(df.dtypes)
まとめ
- 基本 →
df.columns
でIndex
オブジェクトが得られる - リストで使いたい →
df.columns.tolist()
- 個別に取りたい →
df.columns[i]
- 応用 → ループ、条件抽出、リネーム、存在確認など
以上、PythonのPandasでのカラム名の取得についてでした。
最後までお読みいただき、ありがとうございました。