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