こんにちは,shun(@datasciencemore)です!!
今回はapply(データフレームの要素処理)について学習していきます。
applyは,今まで見てきたように行処理だけでなく、各要素に対して関数を適用することもできます。
イメージとしてはこのようになります。

0.準備
1 2 3 4 5 6 7 8 9 10 11 12 |
# パッケージ読み込み import numpy as np import polars as pl import seaborn as sns # データフレームの表示行数を指定 pl.Config.set_tbl_rows(5) # データ読み込みと列選択 df = pl\ .from_pandas(sns.load_dataset("diamonds"))\ .select("x", "y") |
1.apply(データフレームの要素処理)の基本
例えば,以下のデータフレームと関数を考えます.
データフレーム:df(ダイヤモンドデータ)のx列,y列
関数:数値を100倍する.
このデータフレームと関数をapplyに適用すると,このようなデータフレームを出力します.

1 2 3 4 5 6 7 |
# 関数 # 各要素を100倍 def func(x): return x*100 # apply適用 df.select(pl.all().apply(func)) |

2.apply(データフレームの要素処理)とlambda式
apply(データフレームの要素処理)はlambda式と相性が良いです.
今まで説明したように,関数を定義してapplyを適用する方法でもいいですが,簡単な処理であればlambda式を使用することのほうが多いです.
ちなみに今まで説明してきませんでしたが,シリーズの行処理やデータフレームの行処理でもlambda式を使用することはできます.
ただシリーズの行処理やデータフレームの行処理でlambda式を使用する頻度はデータフレームの要素処理よりも少ないです.

1 2 |
# apply適用 lambda式 df.select(pl.all().apply(lambda x:x*100)) |

まとめ
今回はapply(データフレームの要素処理)について学習してきました.
- apply(データフレームの要素処理)の基本
- apply(データフレームの要素処理)とlambda式
apply(データフレームの要素処理)は,apply(シリーズの行処理)、apply(データフレームの行処理)に劣りますが,それでも時々使用します.
油断しないでしっかりマスターしましょう.
さて,これで繰り返し処理について終了です!
次回から欠損値処理について学習していく予定です!
それでは,お疲れさまでした!!