やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

Pythonでデータ処理・グラフ描画できると業務の幅が広がる

僕がプログラミングを始めたばかりの頃はPythonを使って、データ処理・分析、機械学習といった内容に取り組んでいました。 当時、業務(アルバイト)ではCSVファイルをpandasで読み込んで、前処理をしてmatplotlibを使ってグラフを描画して...というサイクルをひたすらに繰り返していたものです。

そのおかげもあって「データ処理からのグラフ描画」というフローは、一般的なWEBアプリケーションの開発を担当しているエンジニアの方と比べると、少しばかり自信があります。

現在では、機械学習の領域から離れたということもあって、以前のような業務をすることはなくなりWEBアプリケーションの開発がメイン業務ではありますが、先日、ふとデータ処理をする機会がやってきました。

久しぶりにデータ処理をしてみて、このスキルのパワフルさを実感したので記事にしてみようと思います。

データ処理・グラフ化までやれると強い

先日、Rubyでパフォーマンスを計測するという記事を公開しました。

www.okb-shelf.work

記事内で紹介したコードを使って実際にパフォーマンスを計測したのですが、結果がログファイル(.log)として出力されており、そのままでは扱いにくくデータとなっていたため、前処理ができたらアツいなぁ...と感じていました。
思い切って、約1年ぶりにPythonとJupyter Notebookを使って、前処理をして結果をグラフに描画しました。
コードを書くのに多少の時間はかかりましたが、複数あるログファイルを一括でグラフ化できたので、結果的に楽ができたと思います。

そして何よりも結果をファイルではなくグラフとして提出すると、相手への伝わりやすさが桁違いです。
僭越ながら、自分以外でPythonを使って同様のコードを書けるメンバーがいなかったため、このスキルが非常に重宝されました。

複数分野の経験が活きる

普段から、Pythonを使ってデータ分析に関わっている方からすれば「そんなのできて当たり前だろ」と思われるかもしれませんが、WEBアプリケーション開発分野の人間からすると、そうではありません。
逆も然りで、WEBアプリケーション開発の分野で当たり前だと思われていることが、データ分析の分野ではそうではないかもしれません。

重要なのは、特定分野で培ったスキルが、別分野にて非常にパワフルなスキルになり得たという点です。
結果的に周りのメンバーと差別化が成されて、業務の幅が広がっていきますし、チームメンバーに知見を共有すれば、より強いチームへ進化することもできるでしょう。

自分が過去に業務を通じて得た知見は、チームメンバーへ共有していきたいと思います。

最後に

Pythonの最新動向を追えていないので、現在となっては当時の自分のやり方は、古めかしいものかもしれません。
最近はRust製のPolarsというライブラリがリリースされておりpandasよりも高速で重宝されているようです。

とはいえツールは変われど、データを処理して描画するというフローは簡単には変わらないものです。
当時、ひたすらデータ処理・グラフ化を経験できたことが貴重な財産です。 ぶっちゃけ、WEBアプリケーションに転向した時は、これまで覚えたことが使えないのか...とガッカリしたものです。

ただ、こういった形で関わりが出てくるのは非常に面白いですね。
少しでも「ええな〜」と思ったらはてなスター・はてなブックマーク・シェアを頂けると励みになります。