スポンサーリンク

【Python】Pandas データフレームのカラム名変更方法

記事内に広告が含まれています。

Pythonでは、データ分析ライブラリとして広く使用されているpandasを用いてデータフレーム(DataFrame)を操作します。

データを扱う中で、カラム名(列名)を変更する必要がある場面がよくあります。

カラム名を変更する理由として、以下のようなものが挙げられます。

  • データの可読性を向上させるため
  • プログラムの可用性を高めるため(統一的なカラム名に変更するなど)
  • カラム名にエラーの原因となる特殊文字や空白が含まれている場合
  • 外部システムやチームの命名規則に合わせる必要がある場合
スポンサーリンク

カラム名の変更方法

renameメソッド

renameメソッドは、特定のカラム名を部分的に変更したい場合に便利です。

基本構文

df.rename(columns={"旧カラム名": "新カラム名"}, inplace=True)

import pandas as pd

# サンプルデータ
data = {
    "名前": ["田中", "佐藤", "鈴木"],
    "年齢": [25, 30, 35],
    "職業": ["エンジニア", "デザイナー", "マネージャー"]
}
df = pd.DataFrame(data)

# カラム名を変更
df.rename(columns={"名前": "Name", "年齢": "Age"}, inplace=True)

print(df)

出力

   Name  Age      職業
0  田中   25  エンジニア
1  佐藤   30  デザイナー
2  鈴木   35  マネージャー

カラム名全体を一括変更

カラム名を一括して変更するには、columns属性に新しいリストを代入します。

基本構文

df.columns = ["新しいカラム名1", "新しいカラム名2", ...]

# カラム名を一括変更
df.columns = ["Name", "Age", "Job"]
print(df)

出力

   Name  Age          Job
0 田中 25 エンジニア
1 佐藤 30 デザイナー
2 鈴木 35 マネージャー

特定の文字列を置換して変更

全てのカラム名に対して特定の文字列を置換する場合は、str.replaceを活用します。

# カラム名の文字列置換
df.columns = df.columns.str.replace("職業", "Job")
print(df)

出力

   名前  年齢     Job
0  田中  25   エンジニア
1  佐藤  30   デザイナー
2  鈴木  35  マネージャー

関数を使ったカラム名変更

columnsに適用する関数を用いて、カラム名を動的に変更することも可能です。

# カラム名を全て小文字にする
df.columns = df.columns.str.lower()

# カラム名を全て英大文字にする
df.columns = df.columns.str.upper()

print(df)
スポンサーリンク

注意点

  • カラム名の重複
    重複する名前を付けるとエラーや意図しない動作の原因になります。
  • inplace=True
    オリジナルのデータフレームを変更するため、慎重に使用してください。
  • 無効な名前
    Pythonの変数名に適さない記号やスペースがある場合、処理に失敗することがあります。

まとめ

カラム名を変更する方法は多岐にわたり、柔軟に対応できます。手法を使い分けることで、データフレームの操作がよりスムーズになるはずです。

スポンサーリンク
Python
著者SNS
タイトルとURLをコピーしました