データ分析の現場で役に立っているSQLとPythonとBIツールの本
500社で働いた私の本業は、ITエンジニア。
派遣だが、ここ数年は大企業の本社を渡り歩いている。
プログラミング、RPA、ビッグデータ分析、Webマーケティングなど幅広くやってきたが、社内SEポジションのため、ソフトウェアハウスの開発部門のような働き方はしたことがない。
12年は実務をしているので、エンジニアのレベルとしては、高くもなく、低くもなく。
上には沢山上がいるが、こんな私でも大企業の社員から何度も「先生」と言われているので、それなりに評価されているのだろう。
そんな中途半端な私だが、少しでも役に立てばと思い、データ分析の現場で使っている本とサイトを紹介することにした。
※本のリンクはアフィリエイトです
SQL
データベースやデータウェアハウスから、キレイな正規化されたデータをとってこれる環境なら、大抵SQLを使えるだろう。
私はいくつもの大企業の本社で働いたが、SQLを使えない環境で、データといえばエクセルやCSV、jsonだらけというところもまだまだあった。
データ分析は、分析専用言語のSQLが使えるのが理想的!
でも、SQLは方言があるから、1つ学べばいいというものではない。現場で使うSQLが何かを把握してから本を買おう。
ちなみに私はMySQL、Oracle Database、Microsoft SQL Server、PostgreSQL、SQLite、Big queryを実務で扱った。
方言の差はネットで調べれば、すぐに把握できるけどね。
初心者から中級まで、いまだに人気の本は
あっという間に、こういうのが必要になる。
SQLに関しては、本でカバー出来なくないと思う。
たまに1000行超のコードを書くこともあるので、心しておいて。
Pythonよりは、よほど楽。
PythonもSQLを使えるライブラリがあるので、データ分析やるなら、SQLは外せない。
Python
SQLが使えない現場。エクセルやCSV、jsonからデータ取って分析しろみたいなところでは、Pythonに頼りがちになる。
RPAソフトや、Excel、tableauやPowerBIでもどうにもならないファイルは、Pythonで頑張ってなんとか加工することになる。
データ分析は、データの前処理(データクレンジング・加工など)から始まる。
なので、ライブラリはpandasがメイン。
この本は、何度も役に立った。
で、これで十分かというと、全然そんな事はない!
なら、沢山本を買えばいいかといえば
・高い
・表紙はかっこいいのに評価がいまいち
・高評価でも自分には合わない
・知りたいことが書いてなかった
とか失敗するリスクが高い。
私は本で失敗するたびに、メルカリで売り飛ばしてきた。
メルカリで売るためには、最初に手に取った時にカバーを外して、書き込みなどしないで、きれいに扱おう。
技術書は高く売れるし、新しい本なら1、2日以内に買い手がつく。大人気なのだ。
てか、現場では本に書いてないケースに遭遇することが圧倒的に多いので
【教えてくれる、サポートしてくれる人がいる現場】
新卒や第二新卒くらいで、特に正社員として配属されているのなら、みんな優しく教えてくれるだろう。
経験者として配属されると聞きづらいが、サポート体制があるのなら、遠慮しないで早めに誰かに相談しよう。
先輩だけでなく、同僚の中にも強力な助っ人がいたりする。
【教えてくれる、サポートしてくれる人がいない現場】
①忙しくて教えたり、教えられたりする余裕がまるでない、ピリピリした現場の方が多いだろう。皆、自分の仕事でいっぱいいっぱいという感じで、とても話しかけられないムードなのだ。
②自分以外、新人
自分がトップで、他のスタッフは皆、新人。
自分もまだ中級レベルなのに・・・という不安の大きい状態の場合。
そんな時は、ネットで検索すると思うが、はっきり言って日本のネットの情報は薄弱。
中国の方が、よほど充実している。
英語が使えれば、世界中の人に聞ける。
エンジニアお馴染みの
StackOverflow
日本語版もあるが、情報量がしょぼくて参考にならない。
ITと同時進行で、英語を勉強しよう。
読めるだけでも助かる。私は読めるので、簡単なキーワードの単語をいくつか入れて、ロジックや、構文を探して参考にする。
このやり方で何度も、窮地を救われた。
英語が書ければ、StackOverflowで質問ができる。
世界中の、頭のいいエンジニアが答えてくれる。
話す・聞くも出来れば、ビジネススキルとして強みになるし可能性が広がる。TOEIC⚪︎⚪︎点以上が出世の条件になっている会社もあるので、習っておくと後々役立つだろう。
Pythonの公式サイト
ドキュメントは、頻繁に見る。
こちらも、公式の英語サイトをダイレクトに読めたほうがいい。
部署やプロジェクトに配属されたばかりで、時間に余裕のある場合は、見られる範囲のフォルダ内のPythonプログラムを黙々と解読しておこう。
素晴らしいコードを見つけたら、参考にしよう。
プログラミングは、地道な学習の積み重ねで強くなる。
「自分が半年前に書いたコードは、他人が書いたもの」現象も、よくある。自分で書いたものでも時間が経つと忘れるので、自分のノートまとめておこう。
私は会社のExcelメモファイルに貼った後で、自分のEvernoteに転写して『虎の巻』を作っている。
こういうのが、後々役に立つ。
【一言メモ】
※Pythonのdf操作で、構文は合ってるのに思ったように動作しない時は[ ] の付け方を間違っているケースが多い。
※ネ申エクセルのあまりに酷いやつは諦めて、新しいフォーマットにデータを書き換えよう。
私の先輩エンジニアも、データの再整形をクライアントに依頼した。世の中には、頑張れないほど汚いエクセルデータも存在する。そんな時は無駄に頑張らないこと。
※あまりに汚いExcelデータに改行コードや目に見えないゴミ情報が混入していて、read_excelしたら、エラーが出ることがあった。Pythonで除去できないものは、Power Queryの置換やクリーン関数で格闘して消すなんてこともある。
↑ こんなケースでもPythonで解決できるという人がいたら教えてほしい。
Excel操作はRPAソフトでも、しばしば地雷になる。
ソフトウェアハウスでない会社ならば、この後のグラフ化はMatplotlibを使わないで、BIツールのデータソースにすることの方が多いだろう。
一般ユーザーも閲覧で使うからね。
というわけで、代表的なBIツールの本を紹介する。
tableau
tableauは、基本中の基本のこの2冊があれば十分!
LOD計算(FIXED, INCLUDE,EXCLUDE)までは、出来るようにしておこう。でもLODでも、通用しないケースがあることも覚えておこう。
この2冊に収録されていないことを、現場でやることもあるけど、まあ大抵WEBで検索すれば何とかなる。
「tableauにはクセがある」と心しておけば、大丈夫。
「tableauはクセが無い」なんて誤認識してると、酷い目にあう。
PowerBI
PowerBIをメインで使う現場なら、DAXは使いこなせるようにしよう。すぐに必要になる。
DB設計
データ分析をしてると、データベース構築までさせられることがある。仕様書も作らされる。
もはや、なんでもやらされる。
古い本だが、今でも名作
本の紹介はここまで。
ちなみに私は今、めちゃくちゃ頭いい人たちに囲まれている環境で仕事をしている。
わからないことがあっても、そうそう「教えて」なんて言えない。皆、ハンパなく仕事抱えてるからね。
でも、どうしてもダメな時は「何が出来ないか」を明確にして相談する。すると、めちゃくちゃ頭がいい人が、ひょいっと"ヒント"をくれる。
流石に1から教わらなくても、ヒントを見て「なるほど」と解決出来るくらいになると、プレッシャーが少なくなり、ストレスも溜まらなくなるよ。
日頃から、エンジニアは情報収集が大事。
IT mediaのチェックはもちろん、CodeZine(コードジン)のカンファレンスなんかも、定期的に参加して視聴することをお勧めする。
今は、Copilotが注目されてるけど、やはり複雑なものは、まだまだ無理っぽい。
うちはセキュリティ厳しくて使えてないから、そこのところはどうなのか?気になっている。
仕入れた情報が、ある日突然話題に出てくることが少なくないIT業界。
積極的に、情報収集をしよう。
不運な人を助けるための活動をしています。フィールドワークで現地を訪ね、取材して記事にします。クオリティの高い記事を提供出来るように心がけています。