Sibainu Relax Room

愛犬の柴犬とともに過ごす部屋

Python DataFrame.rename

おおお!気になる娘がきたと思っている柴犬です。

概要

ここ数日、Python の lambda 関数、map 関数に奮闘中です。

関数の引数に型がないので何を指しているのか理解できないでいます。

その過程で DataFrame.rename を調べ理解できたところを書いてみました。

ですから、しばらくの間、lambda 関数、map 関数を調べるなかで理解できたことを書いていきます。

pandas.DataFrame.rename

Reference

まず、pandas の公式HPで次のページを見てみます。

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rename.html

引数が多く、Python 独特の dict-like というあいまいな表現あります。これについては、慣れしかないので API reference をできる限り読むようにしています。

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rename.html から

DataFrame.rename(mapper=None, *, index=None, columns=None, axis=None, copy=None, inplace=False, level=None, errors='ignore')

パラメータ
   mapper:  dict-like or function
        軸の値に適用する連想配列と同等なものまたは変換関数。

   index:  dict-like or function
        軸の指定方法 (mapper, axis=0 または index = mapper)

   columns:  dict-like or function
        軸の指定方法 (mapper, axis=1 または columns = mapper)

   axis:  {0 or ‘index’, 1 or ‘columns’}, default 0
        mapper を適用する軸を指定します。 軸の名前 (‘index’, ‘columns’) でもいいし、数値 (0, 1)でもよい。デフォルトは ‘index’ です。

   copy:  bool, default True
        まだ、True と False の違いが分かりません。

   inplace:  bool, default False
        あたらしく作成するというよりもデータフレームを変更するかというフラッグ。

   level:  int or level name, default None
        複数行また列の場合指定します。

   errors:  {‘ignore’, ‘raise’}, default ‘ignore’
        ‘raise’ の場合、KeyError が発生するようにします。
        ‘ignore’ の場合、既存のキーの名前が変更され、ないキーは無視されます。

リターン
    DataFrame or None

例の作成

次のようなものを例とします。

列の名前を変えてみます

軸を columns にして小文字に変えてみます。
しかし、オリジナルを表示してみますと変換されていません。

オリジナルの変換

オリジナルを変換するためには、inplace を True にします。

列の名前、indexの名前を同時に変換

index、columns にそれぞれマッパーを指定すればいいです。

mapper に関数を使う

mapper に自分のオリジナル関数を使ってみます。
ですから、自由に名前を設定できます。

lambda 関数を使ってみます。