1から始めるPythonデータ分析 - やりたいこと逆引きリスト ▶︎▶︎

【Python】rename|列名・行名を変更する方法

行・列名の変更

今回はPythonのDataFrameでデータの行・列名の変更するrename()メソッドをご紹介します

特にカラム名の変更はよく利用するためしっかり覚えましょう

Pythonの列名の変更

事前準備

Pandas」というデータ解析を実施できるライブラリをインポートします 

import pandas as pd

※サンプルデータ:学校のテストの点数

学校のイメージ
student.head()
学校のテストデータのイメージ

renameの使い方

列名も行名も両方ともrename()メソッドを利用します

パラメータでcolumnsindexを指定しましょう

辞書型で新旧それぞれ指定し、変更することができます

パラメータ

おすすめ度を判定:★★★=必須|★★☆=推奨|★☆☆=任意

★★★:columns(列名の変更)

student.rename(columns={'名字':'Name'})
student.rename(columns={'名字':'Name'})

前述した通り、{ }辞書型で変更したいカラム名を記載し、:コロンに続けて変更後のカラム名を指定します

上記の例では「名字」を「Name」に変更しています

もちろん英語も日本語もどちらも対応可能です

複数列を変更したい場合は、辞書型で続けて記載します

student.rename(columns={'名字':'Name',
                        '生徒番号':'No',
                        'クラス':'Class'})
student.rename(columns={'名字':'Name','生徒番号':'No', 'クラス':'Class'})

★★☆:index(行名の変更)

student.rename(index={0:'1人目'})
student.rename(index={0:'1人目'})

こちらもcolumns同様に、辞書型で変更前の行名と変更後の行名を記述します

indexを変更する頻度は高くないですが、columnsと合わせて覚えてください

もちろん複数指定もできます

student.rename(index={0:'1人目',
                      1:'2人目',
                      2:'3人目'})
student.rename(index={0:'1人目',1:'2人目',2:'3人目'})
文字列はクォーテーション

Pythonで文字列を扱う場合はクォーテーションで括りましょう

‘ ‘シングルクォーテーションでも” “ダブルクォーテーションでもどちらでも大丈夫です

逆に数値型はクォーテーションは必要ありません

★☆☆:inplace(上書き)

student.rename(columns={'名字':'Name'}, inplace=True)

inplaceを「True」で設定することで、DataFrame自体の中身を上書きすることができます

同じ変数に置き換えるのと等しい機能になりますが、より簡潔に記述することが可能です

※下記は同じ結果になります

student.rename(columns={'名字':'Name'}, inplace=True)
student = student.rename(columns={'名字':'Name'}) #上と同じ結果

※デフォルトではinplaceは「False」のため上書きは設定されません

まとめ

今回はDataFrameの列名・行名を変更するrename()メソッドをについてご紹介してきました

columnsindexというパラメータは対になる機能なので、ぜひ使ってみてください

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です