Python

大規模データのPandas-profilingでメモリエラーが出たり計算時間が長い時は "minimal=True" を設定しよう

データの調査をするときにPandas profiingはかなり有用ですよね。

僕も最初のデータ調査のときにはPandas profilingを使って、データの統計量や欠損、分布などなど調べることにしています。

なにせ1コマンドで簡単にこれらができるので、ありがたいったらありゃしないのです。

ところがこの前、このpandas profilingをしたらメモリエラーが出てしまいました。

このときのデータはエクセルだと読み込みもできないような容量のデータで、pandas profilingの限界を越えてしまったようです。

たしかに基本的な統計量ぐらいだったら簡単ですが、pandas profilingはデフォルトでピアソンの相関係数など、思ったより多くのことを計算してくれています。

そのためデータが大きいとメモリエラーが出たり、エラーは出なくても1時間とか時間がかかることがあります。

さすがにメモリエラーや計算に1時間とかかかると困るので、どうしたらいいものかと思っていたらいいオプションがありました!

今回はそちらを紹介したいと思います。

データサイエンティストとして3年間で3社経験した僕の転職体験談まとめ

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

データサイエンティスト経験3年の僕がフリーランスとして独立するまでの体験談

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

 

minimal=True を設定しよう

結論から言うと、pandas profilingでメモリエラーを解消したり、計算時間を短縮したいという場合は、オプションとして"minimal=True"の設定をしましょう。

こんな感じです。

 

[/] pandas profiling
import pandas_profiling as pdp
pdp.ProfileReport(df, minimal=True)

 

この設定をすると相関係数の計算はスキップし、基本的な統計量や欠損、分布などの計算のみを実施してくれるので、メモリエラーは回避できる可能性が高くなりますし、計算時間も短くなります。

なので、エラーや計算時間で困っている人はぜひminimal=True設定をしてやってみてください!

おすすめ記事

1

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

2

お疲れさまです! 久しぶりの更新になってしまいましたが、僕が未経験からデータサイエンティストになるまでの転職活動の全記録を書き残しておきたいと思います。 僕は博士号を取得後に研究員として仕事をしていま ...

3

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

-Python

Copyright© さとぶろぐ , 2024 All Rights Reserved Powered by AFFINGER5.