PandasでDataFrameの列名を変更する際、いくつかの方法があります。最も一般的なのは、rename()関数を使うか、列名をリストとして直接df.columnsに割り当てる方法です。

rename()関数を使う

列名を指定して変更するには、rename()を使います。次のように辞書形式で変更したい列名を指定します。

df = df.rename(columns={'oldName': 'newName'}, inplace=True)

また、inplaceを指定せずに新しいDataFrameとして返すこともできます。

df2 = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})

df.columnsにリストを直接割り当て

列名全体を一度に変更したい場合、リストとして列名を直接割り当てる方法があります。

df.columns = ['newName1', 'newName2', 'newName3']

関数を使って列名を変更

さらに、rename()関数に関数を渡して、列名を一括で変更することもできます。例えば、特殊文字を削除する場合は次のように書けます。

df = df.rename(columns=lambda x: x.replace('$', ''))

まとめ

  • 個別の列名を変更する場合はrename()、すべての列名を一度に変更する場合はdf.columnsを使うと便利です。
  • 辞書形式や関数を活用することで、柔軟な列名変更が可能です。