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を使うと便利です。 - 辞書形式や関数を活用することで、柔軟な列名変更が可能です。