問題文
医療機関のデータエンジニアが、検査値に独自の補正を掛ける関数を Python で書いた。対象は 5 億行で、補正は 1 行ずつ独立に計算できる。行ごとに呼ばれる Python の関数と、まとめて渡す pandas の関数の違いとして最も適切なものはどれか。
選択肢
- 前者は行の束をまとめて受け取って一度に計算するため、途中で全体の平均を参照でき、後者は 1 行ずつしか見えないので集計を使う補正はできない
- どちらも同じ経路で値を受け渡すので速さは変わらず、5 億行でも選び方によらず所要の時間は同じ幅に収まると考えてよい
- 後者は行の束を Arrow でまとめて受け渡すため、1 行ごとに値を往復させる前者より速くなる
- 後者は SQL からは呼び出せないため、まとめて渡す形は Python 側でだけ使う