おおお!気になる娘がきたと思っている柴犬です。
概要
ここ数日、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 関数を使ってみます。