Home » Python » pandasの使い方 » pandasのDataFrame.rename()メソッドで列名・カラム名を変更する

pandasのDataFrame.rename()メソッドで列名・カラム名を変更する

動作検証バージョン:Windows 11 Home + Python 3.10.6 + Jupyter Notebook 6.5.3 + pandas 2.0.1

「dataframe column名変更」
といった検索でアクセスがありました。

pandasのDataFrameで、カラム名・列名を変更するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。

[スポンサードリンク]

カラム名・列名の変更に使えるメソッドはいくつかありますが、DataFrame.rename()メソッドが基本でしょう。

元のDataFrameを作成する

まずは、以下のコードを実行して、元のDataFrameを作成してください。

import pandas as pd

samp_tbl = {
    'name':['Alice', 'Bob', 'Chris', 'Dave', 'Eve',],
    'score':[100, 200, 300, 400, 500,],
}
df = pd.DataFrame(data=samp_tbl)

以下のようなDataFrameが作成されます。

 	name	score
0	Alice	100
1	Bob	200
2	Chris	300
3	Dave	400
4	Eve	500

DataFrame.rename()のcolumnsにdictを指定

つづいて以下のコードを実行すると、列名がすべて変更された新しいDataFrameが作成されます。

df_new = df.rename(columns={'name':'名前', 'score':'得点'})

DataFrame.rename()メソッドの引数columnsに、dictを指定すればOKです。
df_newは以下のとおりです。

	名前	得点
0	Alice	100
1	Bob	200
2	Chris	300
3	Dave	400
4	Eve	500

このとき、dictのキーは、元の列名に完全一致する必要があります。
以下のようなコードを実行したときには、エラーは発生せず、

df_new = df.rename(columns={'NAME':'名前', 'SCORE':'得点'})

元の列名のままで新しいDataFrameが作成されます。

DataFrameの列名をstr型のメソッドで変更する

str型のメソッドを使った列名変更も可能です。

引数mapperにstr.capitalizeを指定

DataFrame.rename()メソッドの引数を以下のように指定したコードを実行すると、

df_new = df.rename(mapper=str.capitalize, axis='columns')

列名の先頭1文字のみが大文字になった新しいDataFrameが作成されます。

	Name	Score
0	Alice	100
1	Bob	200
2	Chris	300
3	Dave	400
4	Eve	500

mapperに「str.capitalize」を、引数axisに「columns」を指定したので、列名にstr.capitalizeメソッドが適用され、先頭1文字が大文字になった新しいDataFrameが作成されています。

引数mapperにstr.upperを指定

以下のコードを実行すると、

df_new = df.rename(mapper=str.upper, axis='columns')

引数matterに「str.upper」が指定されているので、以下のような列名が大文字になった新しいDataFrameが作成されます。

	NAME	SCORE
0	Alice	100
1	Bob	200
2	Chris	300
3	Dave	400
4	Eve	500

最終更新日時:2023-08-04 07:56

[スポンサードリンク]

Home » Python » pandasの使い方 » pandasのDataFrame.rename()メソッドで列名・カラム名を変更する

「pandasの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.