私が実際にプログラミングの知識ゼロからPython中級者になるまでの道のりを解説します
プログラミング学習は様々な方法があり,いろんなものが紹介されまくっているために,情報が交錯して,これから学ぼうとすると混乱すると思います.
皆さんのプログラミング学習に際して,私の体験を1つの目安にしてみてください
プログラミングとの出会い
プログラミングと最初に出会ったのは,高専5年生の卒業研究のデータ分析で,Excel VBAを使った時でした
高専での研究は,超音波を使って材料の検査をするというものでした.超音波の波形から材料の物性を読み取るのですが,超音波の波形が勝手に手元のExcelに表示されるわけではありません.波形は数値データとして,テキストファイルに書き込まれています.
実際のデータ分析はVBAの画面にある2つのボタンを順番に押すことから始まりました.Excelへのデータ読み込みと波形グラフの表示です.そして最終的にグラフを参照しながら特徴量を自分で探してきて,超音波の速度などを算出していました.
初めて使ったときは,大量の数値データがExcelに表示されて,グラフが即座に描画されることに非常に感動しました.こんな便利なものが世の中にあるのかと...
プログラミングを触り始める
最初は感動していたプログラミングも慣れてくると,欲が出てきてさらにデータ分析を速くやりたいと思うようになってきました.
私が目に着けたのは,グラフを参照しながら特徴量を自分で探して速度を算出するという作業で,どこかをプログラミングでできないかと考えていました.
このプログラミングを触り始めるというのは,なかなかハードルが高く,そもそも何をどうしたらいいのか何もわかりません.授業で簡単に習っていても実際に使うまではかなり難しいと思います.
私の場合はすごく幸いで,同じ研究室の先輩にVBAを書ける方がいました.そこでどう始めたらいいのか,どこらへんをいじればいいのか,どう進めていけばいいのかという初歩的なことをかなり教えていただきVBAのプログラミングを実際にいじっていきました.
初めてのプログラミング作成
私が実際に作成したVBAのプログラミングは,速度を算出してグラフを描画するというものです.今までの処理は下記のようになっていました
- 超音波の波形データから特徴的な時間を読み取る
- あるセルに書き込み
- 1,2をデータ分だけ繰り返す
- 2で書き込んだデータから速度を算出する
- 速度のグラフを描画する
まず,1の特徴的な時間を読み取るは一番時間がかかっていました.しかしプログラミングで処理するのは難しく,先人のVBAの作成者もここでやめたんだと思います
一番簡単で確実なところからやろうと思い,4,5の処理をプログラミングで行うことにしました.プログラミングは下記のフローで作成しました
- 複数のExcelファイルの読み込み
- セルの値を読み込み
- 速度の計算
- 新しいExcelファイルに速度の書き込み
- 速度のグラフを描画
基本的に先人が作ったコードをコピーして,改造していくスタイルでした.コードをコピーして,実行して,いらない箇所を削除して,付け足してといった感じです.こうして無事にプログラミングが完成しました.
実は,実際に作成したプログラミングをそこまで多用しませんでした.というのも,同じ研究をしている期間が短く,完成したころには論文を書く時期だったからです.しかし,この成功体験は今後もプログラミングを書き続けるには十分だったと思います.
プログラミング学習期
昔からPCを使いこなしているのがかっこいいと思っていました.そして実際にプログラミングを触ったことでもっとやってみたい!という感情が芽生えていました.
そこでVBAではなく,もっと一般的なプログラミングを学ぼうということで,数ある言語の中からデータ分析でよく使われているPythonを勉強することにしました.
ネットでPython学習方法と調べてたどり着いたのがProgateでした.アプリでインストールしてやってみて,その後PCに移行しました.
やり始めると想像以上に良いサービスで,月額を支払って1か月だけ有料でレッスンを受けました.気が付いたら,戦闘力が220になってました.
その後,PyQもやりましたが,実際に使うために勉強しているはずが,勉強していること目的になってしまい辞めました.
研究の解析でPythonを使い始める
研究も進んでくると実験だけでなく,解析を行ってデータ分析をします.解析というのは,理論式に基づいて計算を行い,実験値と比較することでどんな問題が生じているのか,どうすれば解決できるのかといった考察を行います.
つまりPythonに理論式を組み込んで,計算します.その後,実験値とグラフで比較してみるといった手順です.
そして,どのように始めたかですが,またも私は幸いで,先ほどVBAを教えてくれた同じ研究室の先輩がPythonも教えてくれました.
環境構築,グラフ描画の枠組みを作っていただき,あとは理論式を組み込んで,結果をリストにappendするだけでした.
こうして初めてのPythonによるプログラミングができました.この解析はしっかり論文にも載せましたし,意味のあるものになりました.
正直,プログラミング初心者は環境構築でつまづいて辞めることが非常に多いです.皆さんが困らないように記事を作成したので参考にしてください.
アルバイトのデータ分析でPythonをやり続ける
大学院の研究ではさらにPythonを使ってデータ分析をしていましたが,Pythonがメインではないため,新しいプログラムを書く機会が減っていました.
そこで,プログラミングを使うアルバイトを探すことにしました.そしてデータ分析のアルバイトでPythonを使うようになっていきました.
実際にやっていたのは,APIかスクレイピングで大量にデータを収集して,分析を行うという流れです.私しかプログラミングを使っていなかったため,次々に新しいデータが作成されて,バイト先でうごく重宝されました.
最終的にバイト先では,最新のデータベースにアクセスできるWebアプリをDjangoで作りました.その後,2つほど個人的なWebアプリを作るまでに至りました.このDjangoを学ぶ過程はさらに大変でした.下記記事にまとめたので是非読んでみてください.
プログラミング学習を頑張っている方へ
プログラミングに限らず新しいことを学ぶのは非常に大変です.しかし,新しいことに挑戦する過程や意識,姿勢は今後必ず意味のあるものになります.そしてプログラミングはとても役立ちますし,その思考プロセスも重要です.
プログラミング学習をしている間はすべてがうまくいくわけではなく,分からないことが大量にあったり,時間が思うように取れなかったり,モチベーションが維持できなくなったりします.
最初にプログラミングを始めた目的を見失わず,無理のない範囲で続けてみてください.その先にまた新しい世界が広がっています.
本サイトが少しでも皆さんのお役に立てれば幸いです.皆さんの成功を私も楽しみにしています.
コメント