莫大な量のエクセルを日々の業務の中で処理することがあるかと思います。
それらを全てpython(主にpandas)でやってみたメリットとデメリットを整理しました。
メリット
- 大幅な時間削減
- 計算ミスの削減
- 微細な変化を追える
- 途中で計算手法を変えても、手間ではない
- グラフ化が容易
1. 大幅な時間削減
当たり前ですが、一回コード組んでしまえば、速攻で計算終わります。
データが増えても軽微な変更でいけます
私の場合、2時間かかってたデータ分析業務が10分程度で終わるようになり、データ解釈にゆっくり時間を使えるようになりました。
2. 計算ミスの削減
エクセルだと、コピペのミスやオートフィルのミスなどがあります。また、小さいセルに複雑な計算を入れると自分でも何書いてるかわからなくなります。
Jupiter notebookを使えば、証明問題のように計算が進められるため、計算を確認しながら進めらるのでミスが少なくなりました。
また、エクセルみたいな小さいセルに書かなくて済む上に途中で計算の確認できるので、圧倒的にミスは減ります。
3. 微細な変化を追える
エクセルだと、データが多すぎて簡略化するために平均値を使ったり、複雑な計算にすると重くなってしまったりするのでデータを減らしざる負えないことがありました。
pythonならエクセルでカクつくぐらいの計算なら全く問題ないです。
また、deep learningにも強いライブラリがあるため、データが増えればAIのような機能を持たせることもできるでしょう。
4. 途中で計算手法を変えても、手間ではない
計算進めて行くうちに、より良い計算方法を思いつくことや計算が間違っていることありますよね。
計算ミスの話と同様で、証明に近い書き方になるのでこれもどこが間違えっているかわかりやすい上にコードを2、3行直せばいいので、すぐに直せます。
5. グラフ化が容易
matplotlibなどのライブラリを使えば、容易にグラフ化できます。
エクセル同様、凡例や軸の間隔調整、色の変更等もできるので全く問題ないです。
デメリット
- データ量が少ないとコード書く方が手間
- pandas の勉強が必要
1. 量が少ないとコード書く方が手間
大した量でなければ、コード書く方が手間だったりします。。
なんやかんやエラーとかにハマると半日以上やってたりします。
量が少ないことや、再現性がないものはエクセルでもよいと思います。
2. pandasの勉強が必要
基本的読み混んだエクセルは、pandasを用いて、DataFarmeにして処理を進めます。
pandasの扱い方を慣れないうちは一苦労です。
まとめ
大量のデータを扱う方や決まった計算手法を繰り返す方は、是非pythonでのデータ分析をお試しください。