私のプログラミング言語歴は、大学のときは、大型計算機センターでFORTRAN、パソコンPC8801でBASIC、会社入ってしばらくしてPC98でMS-C言語を使っていました。Pythonを知ったのはたしか2011年ごろと思います。その頃は自分で使うとは思っていませんでした。2018年頃になって使いだしたのが始まりでした。その頃はかなりのBig DataをハンドリングしていてExcelでは遅すぎて、またグラフもプロット点が多くなると潰れてみえなくExcelの限界を悟りました。最初に使ったライブラリは、numpy, pandas,matplotlibでこの3つのライブラリはすごい強力でcsvでダウンロードしたデータをさくさくと処理できました。50~100万ぐらいのデータをもろともせず処理できます。使っていたPCのCPUはCorei7 2700Kでしたから4core 8threadで十分な処理速度がありました。
その後、2020年ぐらいから事務の仕事が多くなったのですがExcelが多用されていて気の利いたワークシートにはマクロが使われているものの、作った人にしかわからないと思いました。つまり、会社のフォルダにはExcelが散らばっていてそのコピーも多く属人化しているということです。これでは、その人がいなくなったときにメンテナンスはできないし、また多くのExcelシートをまたにかけて処理をしようとするとコピー、ペーストの嵐となります。やたら列の多いExcelシートをみたことがありませんか? こんなの2画面あっても見切れないことはないでしょうか。
この問題を解決する一つの方法は、Excelを統合処理をしてデータ解析をするTableauなどのBIツールを導入することです。これはなかなか強力で同じようなエクセルの列をクリーニングして統合してくれます。Excelを元にあたかもデーターベースを使っているような感覚でいろいろな角度から分析可能となります。同じような統合処理、整形処理はPython pandasライブラリを使えばできます。ただTableauはユーザーライセンスが必要ですしそれなりの人でないとなかなか使いこなすことが難しいのではないでしょうか。
ということで他にもPythonの利点があるので箇条書きにまとめます。
- Big Dataを処理するのにExcelとくらべものにならないくらい処理が速い。またmaplotlibなどのライブラリをつかえばグラフの種類も豊富である。
- ライブラリの種類が豊富 numpy(行列処理)、Scipy(科学技術計算、信号処理)、pandas(データフレーム)、matplotlib(グラフ化)、pillow,ndimage,scikit-image(画像処理関係)、statsmodels(統計解析)、scikit-learn(機械学習)、Openpyxl/xlwings(Excelの操作)、psycopg2(SQL操作)、Beautifulsoup4(WEBスクレイピング)、Selenium(ブラウザの自動操作)、Keras(ディープラーニング)、pyautogui,pyperclip(RPA)などなど 強力なライブラリがそろっています。
- オープンソースである。GPLコンパチブル。基本的には無料で使えます。実行環境構築にはコツがあります。
- インタープリター言語である。その場で実行可能。1行づつ実行可能。気軽に使える。デバッグも楽。
- 単純な処理であればスクリプトも短くてすむ。(プログラマーみたいに大規模プログラミングができなくてもある程度は使える。)
- ユーザーが多く、AIに聞いてもかなり確度の高いコードを返してくる。
ということで、Excelに限界を感じているかたは一度はPythonをいじってみてはいかがでしょうか?
