barilog

エンジニアリング見習い雑記

python処理を早くするために

1.単純なfor文の代わりにmapまたはリスト内包表記で代用しよう

2.SQLクエリを何度も実行するのはやめよう

3.オブジェクトへの参照回数はなるべく減らそう

4.データフレームの読み書きにはcsvではなくpickleを使おう

 

まず1について.

utgwkk.hateblo.jp

 

これによると関数を呼び出す際はひとまずmapをつかっとくのが無難っぽい.

 

次に4について

yutori-datascience.hatenablog.com

 

これによるとこれはcsvの読み込みの早さはdask ≒ pickle >>read_csv

daskは使っと事ないからわからんので私のような雑魚はpickleをつかおう.

ただし,pickleだとメモリに全部一気に展開がされてしまうので,大きなデータサイズのcsvを読む場合だと他の処理如何でメモリリークが起こりそう.一行ずつ処理したり,並列で処理できるようにするのが理想だよね..