Pythonの学習を始めてから1ヶ月経過しました。
オンラインサービスを活用してPythonのコードの書きかた、NumpyやPandasを用いたデータの取り扱いかた、Matplotlibを用いたグラフの描きかたを学習しました。そして、実例を使ってデータ分析の流れ(一部、機械学習も含む)を学びました。
全てが頭に入っているわけではありませんが、道順のようなもの、つまり困った時はここに戻ればいいという紐付けはできました。
さて、次はどのように学習を進めていこうか?ここから先は人それぞれだと思いますが、私が考える次の学習ステップについてまとめたいと思います。
プログラミングに興味をもった理由はなんだったか?
ルーティンの事務作業を自動化して生産性を上げたい、そう考えて始めたのがエクセルのVBAでした。そこでプログラミングの可能性に惹かれるようになり、今流行りのAIをかじってみたいとPythonの学習をはじめました。最初からPythonを始めようと思ったのではなく、ツイッターで情報収集をしてPythonが良さそうだと思い、決めました。
勉強方法もツイッターで調べました。専門外の分野ですので、最初はメンターがついてくれるプログラミングスクールがいいと思い、あれこれ調べていました。けれど、Dai氏のこちらのnoteを読んで、まずはオンラインの学習サービスで独学で基礎を学んだ方がよさそうだと考え、noteの通りに学習を進めることにしました。これが2018年の7月末です。
1ヶ月の学習の流れを振り返る
まずはProgateでPythonを学習しました。ゲーム感覚でサクサク学習が進みますし、さらに先に進みたいという気持ちがモチベーションになりました。平日は毎日定時に退社し、途中駅の喫茶店で1時間ほどProgateしてから帰るのが日課になりました。土日は早朝に喫茶店にいき、2-3時間Progate。2週間ほどでProgateのPythonコースを2サイクル学習しました。Python学習の軽やかな第一歩を提供してくれたProgateには感謝です。
次はAidemyでNumpy、Pandas、Matplotlibを学習しました。行列が出てきたり、Seriesの概念が今ひとつ掴めなくて苦労しましたが、なんとか一通り学習を終えました。この時期は奥さんと子どもが一足先に奥さんの実家に帰っていたため、平日の夜も休日もフルにPython学習に充てることができました。
Aidemyの上記コースは1週間ほどで完了しました。難易度が高く、集中力が途切れがちでしたので、合間にAidemyのPython基礎コースをやって復習をしながら進めました。Python基礎はProgateをやった人にとっては易しいのでサクサク進みます。Python基礎で自尊心を維持しながら学習を進めました。また、頭に入っていないところはノートに書き出しました。
この次はPythonの開発環境を構築するために、Progateを参考にAtomを導入しました。
実践的なPython学習をすべく、Udacityの「Intro to Data Analysis」コースをやることにしました。全て英語です。英語も学べていい教材だと思って始めましたが、学習に必要なPythonの開発環境「Jupyter Notebook」の導入方法がよくわからず、断念しました。
その後、Jupyter Notebookの導入はUdemyの日本語のコース「【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門」でレクチャーしてくれることがわかり、またこのコースではPythonを使ったデータ分析を実践的に学べるということで、早速課金して学習をスタートしました。
Jupyter Notebookを無事導入でき、2週間ほどかけてコースを一巡しました。復習が必要ですが、データ分析の流れを追体験することができ、とても参考になりました。機械学習にも触れることができたのも良かったです。

プログラミングスクールよりも独学の方がいい
独学のいいところは、お金があまりかからないこともさることながら、ググってわからないことを検索する習慣、コツが自然と身につくことです。
プロのプログラマーも、仕事中はずっとコードを書いているわけではなくググりまくっていると言います。それくらい検索力は重要です。しょっちゅうわからないことやエラーに出くわしますからね。
よほどマニアックなことじゃない限り、検索すれば答えが見つかります。
また、コードを丸々覚える必要がないということを身にしみて感じることができるのも独学のいいところです。プログラミングの勉強というと、コードの文法を暗記して、そらでコードをかけるようにならないといけないと思いがちです。
テレビやドラマで見るプログラマーのイメージが先行しているせいでしょう。
実際はそんなことないようです。検索しまくっているというくらいですし。ググればコードの書き方はすぐ出てきますからね。
その反面、スクールに通うとググる習慣やコツを身につける機会に恵まれなかったり、コードをそらで書かねばならぬという思い込みに囚われてしまう可能性があります。私はスクールに通ったことがないのであくまでも推測ですが。
Pythonを使ってなにをやってみたいか?
Pythonを少しかじったところで、改めてPythonでなにをやってみたいか考えました。
一つ目は、業務効率化ですね。VBAの代わりにPythonを使えないか。こちらは「退屈なことはすべてPythonにやらせよう」を読んでトライしたいと思います。まずはWindowsパソコンにJupyter Notebookをインストールするところからですね。
二つ目は、データ分析です。様々な実例データを使って精度の良いデータ予測をする実践を積みたいと思います。SignateやKaggleといったデータ分析コンテストのプラットフォームを活用するのが良さそうです。先ほどのUdemyのコースでも、Signateの練習用コンテンツを使いました。Udemyのこのコースに似た別の講座を受講し、動画でレクチャーを受けながら進めるのもありですね。
ある程度慣れてきたら、仕事のデータを使って予測を立てることもトライしたいです。
三つ目は、インターネット上からほしいデータを抜き出してグラフをかいてみたいですね。
まだ具体的なイメージがわかないので、Pythonで何ができるかをもう少し調べたいと思います。