「dataframe column名変更」
といった検索でアクセスがありました。
pandasのDataFrameで、カラム名・列名を変更するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。
カラム名・列名の変更に使えるメソッドはいくつかありますが、DataFrame.rename()メソッドが基本でしょう。
元のDataFrameを作成する
まずは、以下のコードを実行して、元のDataFrameを作成してください。
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が作成されます。
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()メソッドの引数を以下のように指定したコードを実行すると、
列名の先頭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を指定
以下のコードを実行すると、
引数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()メソッドで列名・カラム名を変更する