【Pandas】renameでインデックス・コラム名の変更の仕方　no.20

![見出しを追加 (47).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/7663867c-f6d1-654d-1d9b-ec411d5ecbcc.png)
こんにちは、まゆみです。

Pandasについてシリーズで記事を書いています。

今回の記事は第20回目になります。


今回の記事では、.rename()を使って、インデックスやコラムの名前を変更する方法を書いていきます。

<font color="Red">.rename()のパラメーターに渡す引数によって</font>

>インデックス名を変えたいのか

>コラム名を変えたいのか

を指定できますので、

.rename()のパラメーターを順番に詳しく解説していきます


ではさっそく始めていきますね。

#.rename()で名前を変更するためにマストで覚える4つのパラメーター

![スクリーンショット 2021-03-25 075113.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/8f55b96a-44ef-6e9e-0dbb-e86d528c5c9a.jpeg)
引用元：[Pandasドキュメント](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rename.html)

まず、.rename()を使ってインデックスもしくはコラム名を変更するのに覚えておかなければならないパラメーターは4つあります。

上記の、Pandasドキュメントの赤線を引いているところを翻訳しますと

>mapper とaxis を使ってmapper でターゲットにしているものをaxisによって軸を明示するか

>もしくは、index とcolumnを使ってください。


mapper と　axis　の組み合わせか

index と　column の組み合わせを使うことになりそうです。

下記に深堀して解説していきますね。

#今回使うデータ
[ディズニー映画のCSVデータ](https://www.kaggle.com/prateekmaj21/disney-movies)を使っていきます。

インデックスを映画名にして読み込んだ結果は下記のようになります

![スクリーンショット 2021-03-25 084453.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/9afbb075-a6ce-5902-b8e7-774f670c81f2.jpeg)

# mapper とaxisの組み合わせ
![rename( mapper=, axis=).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/ff4088a6-858d-ce79-1918-33a4628cfc8d.png)
.rename のパラメーターmapper=は辞書型で書き、axis=0 もしくはaxis=1 になります

>パラメーターmapperのkey には現在のラベルを

>value に　どのように書き換えたいかを

>axisはインデックス・コラムどちらのラベルを変更するのか？を示すパラメーター


書きます。

具体例を下記に示します
![スクリーンショット 2021-03-25 084453.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/67ed6434-4618-2830-73e9-ea2ed00bf935.jpeg)


では、まずインデックスにある『Cinderella』を『シンデレラ』に書き換えてみたいと思います

![スクリーンショット 2021-03-25 084915.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/541c5993-c556-4c89-fa50-6fdd52043959.jpeg)

![mapper とaxisはセットで使わないといけないのでは？.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/8eb19322-902e-631c-2279-ba55d63a9428.png)
先ほど

mapper と　axis はセットで使うと書きましたが、mapper だけでもちゃんと期待した結果が実行されています。

axisは軸という意味のパラメーターで、<font color="Red">デフォルト値は、0すなわち、row・インデックス方向の軸を指します</font>

なので、パラメーターaxis を使わないと<font color="Red">自動的にコンピュータはインデックスのラベルを見る</font>のです。

もちろん　

>axis=0

と明記しても良くて、その時の実行結果は上記のものと同じになります
##コラム名を変更する

では、次にコラム名を変更する方法を説明します。

先ほどインデックス名を変更した時とは違い、<font color="Red">『軸を90度変えて』一番上の列を横方向に見る</font>ことになるので、

>axis = 1

のパラメーターも同時に渡す必要があります
![スクリーンショット 2021-03-25 095457.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/0a296768-af9b-b8f1-eb03-f6148f39f27f.jpeg)

<font color="Red">release_data とgenre というコラム名</font>をそれぞれ発売日とジャンルという日本語に書き換えてみましょう

以下が実行結果になります
![スクリーンショット 2021-03-25 093827.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/bcfb09d5-5e43-c6f0-b72d-d7c2afb4547b.jpeg)


#インデックスのラベルを変更する方法　(その２
では次に、

パラメータindex かcolumnを使ってラベルを書き換える方法を示していきます

![df.rename( index={ key_value,}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/6b557a36-bd4b-0296-72d2-c83836c0d113.png)
先ほどのmapper とaxis の組み合わせとは違い、<font color="Red">index はインデックスのラベルを変更すると明示しているわけなので、パラメーターaxisを書くとエラーになります</font>(何せ、パラメータ自体がindex という名前なので、このパラメーターがインデックス名を変更する事は明らかです。)

パラメーターindexで、インデックス名を変えてみた実行結果
![スクリーンショット 2021-03-25 092612.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/56c9cb59-1385-1eb1-1d4a-116af707c313.jpeg)

index とaxisを併用するとエラーが出る
![スクリーンショット 2021-03-25 092724.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/86f43bce-6490-fe87-e808-384fe5d31847.jpeg)


#columns=パラメータを使ってコラム名を変更する
先ほどと同じく、

release_date　と　genreを日本語に書き換えます。

実行結果は下のようになりました。

![スクリーンショット 2021-03-25 094703.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/66dcbe21-fbb3-fb97-fce9-d871e1504f9a.jpeg)

ここでも、先ほどのindex と同じく、axis=　を併用するとエラーが出ます。


#まとめ
今回の記事はこれくらいで終わりにします。

初心者エンジニアさんたちのために、専門用語のオンパレードにならないように書いています(なにせ、私も初心者なので。。。(笑))

この記事があなたのお役に立てれば幸いです。