PythonのPandasでカラムをリネームする方法

Python,イメージ

AI実装検定のご案内

Pandasでカラム名をリネーム(変更)する方法はいくつかあります。

用途や状況によって使い分けられるので、それぞれ詳しく解説します。

目次

rename() メソッドを使う方法

もっとも一般的で柔軟性が高い方法です。

import pandas as pd

df = pd.DataFrame({
    "A": [1, 2, 3],
    "B": [4, 5, 6]
})

# カラムAをXに、BをYに変更
df_renamed = df.rename(columns={"A": "X", "B": "Y"})

print(df_renamed)
  • メリット
    • 辞書形式で指定できるため、一部のカラムだけ変更可能。
    • 元のdfは変更されず、新しいDataFrameが返る。
  • 注意点
    • inplace=Trueを指定すると、元のDataFrameが直接変更される。 df.rename(columns={"A": "X"}, inplace=True)

df.columns を直接書き換える方法

全てのカラム名を一括で上書きする場合に便利です。

df.columns = ["X", "Y"]
print(df)
  • メリット
    • 全部一気に変えられるのでシンプル。
  • 注意点
    • カラム数と同じ長さのリストを渡す必要がある。
    • 一部のカラムだけ変更するのはやや不便。

リスト内包表記などで動的にリネームする方法

パターンで変換したいときに便利です。

df.columns = [col.lower() for col in df.columns]  # 小文字に変換
print(df)

正規表現や関数を使った一括変換

rename()では、関数を渡してリネームすることも可能です。

df_renamed = df.rename(columns=str.lower)  # すべて小文字に
print(df_renamed)

実務での使い分け方

  • 一部のカラム名だけ変更したいrename(columns={...})
  • 全てのカラムを一度に置き換えるdf.columns = [...]
  • 命名規則を揃えたい(小文字化・空白除去など)df.rename(columns=str.lower)df.columns.str.replace()

まとめ

  • rename(columns={}):一部だけ安全に変更可能
  • df.columns = [...]:全体を一気に変更
  • 関数やリスト内包表記:規則的な変更に便利

以上、PythonのPandasでカラムをリネームする方法についてでした。

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

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