【入門者向け】Pythonの学習目的別の勉強ロードマップ|Pythonで作りたいものは何?

Python学習で、勉強のロードマップを立てること。
これはPythonを最短で習得するために重要なことです。

では、なぜ勉強のロードマップを立てることが大切なのでしょうか?

別の記事で、Pythonが上達する、たった1つのコツを解説というものを紹介しました。
この記事では、Pythonが上達するコツとして「作りたいものを決めること」が大切だとお伝えしました。

その上で、別の記事で、[Python学習7ステップ|Python初心者向けに学習の手順を解説します]()というものを紹介しました。
ここでは下記7つのステップを紹介しました。

ステップ1 : Pythonで作りたいものを決める
ステップ2 : Python学習ロードマップを作る
ステップ3 : Pythonの基礎学習を終わらせる
ステップ4 : Pythonで作りたいものを作ってみる
ステップ5 : 足りない知識をおぎなう
ステップ6 : 振り返り反省し、自分を褒める
ステップ7 : 次の作りたいものを決める

つまり、「ステップ1:Pythonで作りたいものを決める」の次に「Python学習ロードマップを作る」を作る必要があります。
しかし、Python初心者の悩みを聞いていると、「Python学習ロードマップがわからない」という方が多いです。
確かに、Python初心者であれば、学習ロードマップ(学習計画)の立て方がわからないですよね…。
そこで、この記事では、4つの作りたいもの別に学習ロードマップを紹介します。
文字数は全部で10,000文字を超えています。
詳しく解説をしています。
有料級の内容だと自負しています。
最後に、作りたいものがない人への学習ロードマップも補足として紹介しています。

この記事でわかること

Pythonでできることには、大きくわけて4つあります。

  1. 業務の自動化、効率化
  2. データ分析
  3. 機械学習
  4. Webアプリケーション開発

他にも、Pythonでできることには、ブロックチェーン開発や、ラズベリーパイを使った電子工作などがあります。
しかし、ニーズが高いのは上記4つです。
この記事では、上記4つ学習目的別の勉強ロードマップについて解説をします。
この記事を参考に、最短で作りたいものを作っていただければと思います。

こんな悩みを抱えている方におすすめ

この記事は、下記に悩みを抱えている方を対象としています。
ぜひご参考になさってください。

  • Pythonをこれから学習しようと思っている初心者の方
  • Pythonを効率よく、最短で習得したい方
  • Pythonを学習しているが成長の実感が持てない方

この記事の信頼性

この記事は、YouTubeにて日本最大級のプログラミング教育のチャンネルを運営しているキノコードが執筆、監修しています。
2012年からプログラミング学習を始め、2019年以降はプログラミング教育に携わってきた専門家です。
他にも、下記の経験や専門性があります。

  • キノコードは毎月10名以上、合計100名以上ののプログラミング学習者と1対1でお悩みを聞き、アドバイスをしています。
  • キノコード自身は、プログラミングスクールに通ったり、本や有料åの動画で勉強してきた経験もあります。
  • キノコードは、Python学習サービス「[キノクエスト][キノクエスト]」を運営しており、プログラミング学習者と向き合っている。

Python基礎の学習は必須

まず最初に、みなさんにお伝えしたいのは「どの学習目的であっても、Pythonの基礎を習得する必要がある」ということです。
Python学習の目的は、大きく分けて4つあるとお伝えしました。

では、Pythonの基礎とはなんでしょうか?
キノコードでは、Python超入門講座という動画を出しています。
この内容が、私が考えるPythonの基礎になります。
具体的には、Pythonの基礎は、制御構造であるfor文やif文、そして、リスト、関数、クラスなどです。

このPython基礎学習は、入門者にとっては非常に退屈だと感じると思います。
実際に、私自身、Pythonの基礎学習している時に「この基礎学習は、本当に役にたつのか?」と思いながら勉強していました。
プログラミングができるようになった今、入門レベルの学習に意味があることはわかります。
では、これらはどういった場面で使われるのでしょうか?
その意味がわかると、学習のモチベーションがあがると思うので2つ例に出して説明をします。

1つめの例:業務効率化の場面

例えば、営業担当者の成績管理表をExcelを読み込んで、売上100万円以上なら「達成」「未達」という書き込みをしたいとします。
そうすると、if文という条件によって処理を変えるプログラムを書く必要があります。
100万円以上なら「達成」
100万円未満なら「未達」
といった処理を書きます。

for文はどうでしょうか?
業務効率化の場面では、営業担当者は2人以上いることがほとんどです。
営業担当が1人なら、手入力した方が早いですからね。
つまり、1行目だけではなく2行目以降も同じ処理をする必要があります。
この時に記述するのがfor文です。
つまり、同じ処理を繰り返すためにfor文を書く必要があります。

関数はどうでしょうか?
上で説明をした、if文やfor文文での判定の処理は、10月分だけではなく、11月分や12月分も必要だったとします。
こういった場面で、関数が活躍します。
関数とは、簡単にいってしまうと、「こういう処理をしてくれー」と依頼をすると、その処理を返してくれます。
関数の中に、上記のif文やfor文の処理を記述します。
その上で「10月分の判定の処理をしてくれー」と命令をすると、10月分の判定の処理が返ってきます。
次に、「11月分の判定の処理をしてくれー」と命令をすると、11月分の判定の処理が返ってきます。
if文やfor文の同じ記述を何度も書かなくてよくなり、プログラムのメンテナンスがしやすくなります。

2つめの例:アプリケーション開発の場面

他の例で説明します。Webアプリケーション開発の場面です。
あなたが月額制のWebサービスを運営していたとします。
毎日0時に、その日の課金の処理をしていたとします。
ユーザー1人1人の会員であるかの情報を参照をして、会員であるなら課金の処理、会員でなくなっているなら課金をしない処理と退会をする処理をしていたとします。
ここでもif文やfor文が関わってきます。
if文で会員であるか判定をして、課金と退会の処理をします。
for文で、その処理を繰り返します。
関数にしておくといつでも呼び出すことができます。

Pythonの基礎学習であるif文やfor文、関数などの重要性はおわかりいただけましたでしょうか?
業務自動化だろうが、機械学習だろうが、アプリケーション開発だろうが、すべてに必須の知識になります。
とはいえ、Pythonの基礎は、次のステップで必ず使用します。
そのため、私自身はさらっと学習するでOKだと考えています。
暗記は不要で、「Pythonはこんな感じなんだな」ぐらいの温度感で学習を進めてください。

Python基礎の学習時間

YouTube動画のPython超入門講座は、動画の長さとしては約1時間あります。
プログラミング学習サービスの「キノクエスト」には、Python超入門講座の問題が、約100問あります。
1日1時間ずつ勉強するのであれば、1日10問進められると仮定します。
そうすると、10日間で終わることになります。
ただし、Python入門者であれば、迷う点があると思います。
さらには、復習などを含めると、その倍はかかるかもしれません。
したがって、Python基礎の学習時間は約1ヶ月はかかると想定されます。

なお、Python学習サービス「キノクエスト」は、学習カリキュラムがあり、学習順番や学習方法に迷うことがありません。
動画もあるのでインプットができ、環境構築不要でコードを書く機能もあります。
Python学習のお供にご登録ください。

▼キノクエストの紹介ページ
こちらをクリック

Pythonによる業務自動化

Pythonではありとあらゆる業務効率化ができます。

  • Google Chromeなどのブラウザ操作の自動化
  • Webサイトからデータを取得するWebスクレイピング
  • Excel作業の自動化
  • ファイルの名前変更、移動などのファイル操作
  • パソコンにある全フォルダの一覧取得

業務効率化には、上述したように「Python基礎 + Pandas + Pythonライブラリ」が必要です。
順に説明しますね。

Pythonの基礎を習得した後は、Pandasを学習しましょう。
Pandasとは、データをExcelのような表形式で扱うことができるPythonのライブラリです。
Pandasの読み方は、「パンダス」です。
例えば、Pandasでは、下記のようなことができます。

  • csvファイルを読み取るための機能
  • Excelのデータを読み取る機能
  • 列や行を追加、変更、削除ができる
  • フィルターをかけて特定の行を抽出できる
  • 列の並び替えができる
  • グループごとに集計することができる
  • 表同士をデータを特定のキーで結合することができる
  • 時系列のデータを扱うことができる

このようにPandasでは色々なことができます。
Excelを使ったことある方なら、Excelでできることは、Pandasではほぼできるといっても過言ではないです。

上記のようなことができるため、Pandasでは、下記のような作業を自動化することができます。

  1. 複数のExcelやcsvファイルを読み込む
  2. 列や行を削除、特定の条件で抽出、データ同士を結合
  3. グループごとに集計
  4. グループごとに複数のExcelに書き出し

業務では、売上だったり、在庫データであったり、経理のデータであったり、Excelのような表形式にしてデータを扱うことが多いですよね。
そのため、Pandasでは、こういった集計業務で大活躍します。

Pythonによる業務効率化をするには「Pandas」の習得が必要

あわせて、PandasはPythonのライブラリです。
私はプログラミング学習を始める前、ライブラリと聞くと、なんだか難しそうな印象をもっていました。
ですが、Pandasを使うようになってから
「なんだ、こんなことか!」
と理解することができます。
Pandasを使うことを通して、ライブラリとはなんなのか?
ライブラリはどうやって使うのか?
といったことを学んでください。
なぜなら、業務効率化の場面では、色々なライブラリを使うからです。

キノコードがプロデュースしたPython学習サービス「キノクエスト」には、「データ集計自動化コース」というコースがあります。
カリキュラムがあるので学習方法に迷うことなく、学習を進められます。
下記が紹介ページなので詳しくはそちらをご覧ください。

▼キノクエストの紹介ページ
こちらをクリック

業務自動化関連のPythonライブラリを使いこなせるようになろう

Pythonによる業務効率化のために必要なスキルとして、業務効率化系のPythonライブラリを使いこなす必要があります。
Pythonには、たくさんのライブラリがあります。
Pythonが人気言語No.1の理由は、ここにあるといってもいいでしょう。
具体的には、下記のようなライブラリがあります。

  • パソコンのフォルダやファイルを操作するライブラリ
  • Excel操作のライブラリ
  • Google Chromeなどのブラウザ操作の自動化をするライブラリ
  • Webサイトからデータを取得するライブラリ
  • Twitter、YouTube、GoogleAnalyticsからデータ取得するライブラリ
  • データベースからデータ取得するライブラリ

ごく一部ではありますが、以上のように業務を自動化してくれるライブラリがたくさんあります。
ただし、ここまでの学習ロードマップで、Pandasというライブラリを使っています。
したがって、ライブラリの使い方については、イメージがついているはずです。
あとは、ご自身の仕事に活かせるライブラリをどんどん使って、業務効率化をしてください。

Pythonによる業務効率化の学習時間

Python基礎の学習時間は1ヶ月かかるとお伝えしました。
キノコードが運営するPython学習サービス「キノクエスト」には、Pandasの問題は、約300問あります。
1日1時間ずつ勉強するのであれば、1日10問進めれると仮定します。
そうすると、30日間で終わることになります。
ただし、復習などを含めると、その倍はかかると想定されます。
したがって、Pandas習得までにかかる時間は、2ヶ月と想定されます。
業務自動化関連のPythonライブラリの学習については、3~4つ触れば、だいぶ自信になると思います。
2週間で1つずつ学習すると仮定すると、2ヶ月です。
したがって、Pythonによる業務効率化の学習時間は、5ヶ月と想定されます。

Pythonでデータ分析をやってみたい方

Pythonでデータ分析ができるようになるためには、「Python基礎 + Pandas + MatplotlibとSeaborn」の習得が必要です。
順に説明します。

Pythonによるデータ分析にも「Pandas」の習得は必要

業務効率化のところで、Pandasについては、「データをExcelのような表形式で扱うことができるPythonのライブラリ」と説明しました。
ここでの説明の通り、Pandasは、データをExcelのような表形式で扱うことができます。
表形式で扱えるからこそ、表同士をデータをつっつけたり、穴が空いているデータを色々な方法で埋めたり、時系列のデータを扱ったりすることができます。
したがって、データの前処理をすることが得意なのです。
データ分析は、データの前処理がしっかりできていないと、綺麗なデータ分析をすることができません。
そういう意味でも、データ分析に必須のデータ前処理ができるPandasの習得は必須です。

データ分析に必要なグラフ化は「Matplotlib」と「Seaborn」で実現できる

データの前処理が終わったら、いよいよ分析です。
データ分析に必須のプロセスがグラフ化です。
このグラフ化が得意なライブラリが、Matplotlibなのです。
Matplotlibは、Pythonのグラフを描くためのライブラリです。
Matplotlibはを使うと、いろいろな種類のグラフを作成することができます。
データ加工が得意なPandasにも、グラフを作成するメソッドや関数がありますが、Matplotlibの方がより種類が豊富です。
このMatplotlibを使えば、できないグラフ化がないといってもいいですよね。
ExcelやBIツールでできるグラフ化は、ほとんど実現できるといっても過言ではないでしょう。

また、Pythonには「Seaborn」というライブラリもあります。
Seabornも、Matplotlibと同様に、Pythonのグラフを描くためのライブラリです。
Seabornは、Matplotlibをベースに作られており、Matplotlibより美しいグラフを作成することができます。
また、SeabornはMatplotlibを改良して作られたものです。
そのため、Matplotlibより少ないコードでグラフを作成することができます。
美しいグラフを簡単にかける。これがSeabornの特徴です。

しかも、MatplotlibもSeabornも、Pythonのライブラリだから無料です。
ExcelやBIツールのように有料ではありません。
また、無料なので、どの職場にいっても利用可能ですよね。
ぜひ習得されることをおすすめします。

Pythonによるデータ分析の学習時間

Pythonによるデータ分析ができるようになるためには、「Python基礎 + Pandas + MatplotlibとSeaborn」の3つの習得が必要であることをご理解いただけたと思います。

Python基礎の学習時間は、1ヶ月かかるとお伝えしました。
Pandasの学習時間は、2ヶ月で終わります。
Python学習サービス「キノクエスト」には、MatplotlibとSeabornの問題が230問ほどあります。
1日10問ずつ解くとなると、23日かかります。
復習の時間を倍とると、50日かかることになります。
つまり、約2ヶ月です。
したがって、Pythonによるデータ分析の学習時間は、合計、5ヶ月と想定されます。

Pythonによる機械学習をやってみたい方

機械学習には、「Python基礎 + Pandas + Matplotlib + Scikit-learnなど機械学習系のライブラリ」の習得が必要です。

機械学習のプロセスには、データ分析をする必要があります。
機械学習の場面では、探索的データ分析(Exploratory Data Analysis)といいます。

機械学習の大まかな流れは、下記の通りです。

  1. データ取得
  2. 探索的データ分析(EDA)
  3. 特徴量エンジニアリング
  4. モデル構築
  5. モデル評価

別の記事で詳しく説明しているので、詳細は、そちらをご覧ください。
いずれにしても、探索的データ分析をする必要があるのです。
これは簡単にいってしまうと、分析対象であるデータセットが、どんな特徴をもっているのか分析することです。
つまり、機械学習をするためには、データ分析のスキルが必要です。
したがって、データ分析のところでも説明したように「Python基礎 + Pandas + Matplotlib」の習得が必要です。
また、特徴量エンジニアリングは、簡単にいってしまえば、データの前処理です。
したがって、Pandasができればおおよそ対処できます。

Pythonの機械学習系のライブラリの習得が必要

機械学習のモデル構築には、機械学習系のライブラリの習得が必要です。
その中でも、必須のライブラリがScikit-learnです。
Scikit-learnは、Pythonの機械学習ライブラリです。
「サイキット ラーン」と読みます。
Scikit-learnでは、さまざまな機械学習のモデル構築ができます。
そのため、基本的な機械学習のモデルはほとんど構築できるといってもいいでしょう。
また、機械学習のプロセスであるモデルを評価するための関数・メソッドも準備されています。
Pythonの機械学習系のライブラリには、PytorchやTensorflowなどもありますが、まずは、Scikit-learnだけで十分です。
Scikit-learnの習得を目指しましょう。

Pythonによる機械学習の学習時間

「Python基礎 + Pandas + MatplotlibとSeaborn + Scikit-learn」を習得すれば、Pythonによる機械学習を習得できます。

Python基礎の学習時間は、1ヶ月かかります。
Pandasの学習時間は、2ヶ月かかります。
MatplotlibとSeabornは、2ヶ月です。
Scikit-learnの習得には、1ヶ月もかからないと思います。
ただし、機械学習の流れや最低限の理論を抑えるまでに、2~3ヶ月の時間を要すると思います。
また、機械学習のテーマに実際に取り組む必要があります。
1ヶ月に1つ。3つ取り組むとなると、3ヶ月かかります。
したがって、Pythonによる機械学習の学習時間は、約1年近くと想定されます。
これより早く習得できるのであれば、あなたは優秀な方だと思います。

Pythonによるアプリケーション開発をやってみたい方

Pythonによるアプリケーション開発には、「Python基礎 + Python応用 + Djangoなどのフレームワーク」の習得が必要です。
したがって、「Python基礎 → Python応用 → Djangoなどのフレームワーク」の順番でPython学習を進めていきましょう。

なお、アプリケーション開発をするには、Pythonだけでは開発は難しいです。
なぜなら、アプリケーション開発には、Pythonの他にもデータベースの知識、サーバー(クラウド)の知識、フロントエンドの知識、Gitの知識、Dockerの知識が必要になるからです。
したがって、Pythonを学びながら、これらの知識もつけていく必要があります。
Djangoなどのフレームワークを学習を進めていくと、それらの知識もインプットしていくことになります。
まずは、アプリケーションを作り切ることを目標にして、必要な知識は補っていきましょう。
どうしても気になることがあれば、データベースやクラウドの技術を学ぶとよいでしょう。

Python基礎と応用の習得が必要

さて、Python基礎については、何を学習するにも必要な技術であると、上記で説明をしました。
次のPytnon応用についてです。
アプリケーション開発においては、Pythonのfor文、if文、関数の他にクラスについての理解が必要です。
インスタンスとは何か?アトリビュートとか何か?オブジェクトとは何か?クラスの継承などの理解も必要になります。
他にも、スコープについての考え方、例外処理についてもきちんと押さえた方が良いです。
したがって、Python基礎のみならず、応用的な内容についても理解が必要になります。

Pythonのフレームワーク「Django」の習得をまず目指しましょう

そして、最後に、Djangoなどのフレームワークの理解が必要です。
フレームワークとは、WebサイトやWebアプリケーションなどを作るときに、よく使う機能をテンプレートとして提供するものです。

各プログラミング言語別にフレームワークがあります。
3大フレームワークと、それを使える言語は下記のとおりです。

言語名フレームワーク名
RubyRails(ルビー オン レイルズ)
PHPLaravel(ララベル)
PythonDjango(ジャンゴ)

PythonのDjango以外のフレームワークとしては、下記があります。

フレームワーク名特徴
Django多機能
Flask軽量
FastAPI高速

このフレームワークを使いこなすためには、Python基礎と応用の知識が必要になってきます。

「Python基礎 → Python応用 → Djangoなどのフレームワーク」の順番でPython学習を進めていきましょう。
ただし、プログラミング初心者なのであれば、Webアプリケーション開発を目指される方であっても、PandasやMatplotlibを覚えた方が良いと考えています。
理由を説明します。

Webアプリケーション開発をする上では、PandasやMatplotlibが必要になるケースは多くはありません。
そのため、Webアプリケーションエンジニアになるためには、PandasやMatplotlibは不要といえるかもしれません。
しかし、エンジニアであっても、レポートをする上で、データ集計やデータ可視化をする機会があると思います。
PandasやMatplotlibができるようになると、ExcelやGoogleスプレッドシートでやっていることを自動化できます。
全人類におすすめしたいのは「Pythonによる業務効率化」の記事にも書きましたが、業務自動化のスキルは生産性向上につながるため、すべてのビジネスパーソンに身につけていただきたいスキルです。
さらには、Webアプリ開発で必要なケースもあるため、Pythonによるデータ集計やグラフ化は、覚えておいて損はないと考えています。

「Python基礎 → Python応用 → Pandas + MatplotlibとSeaborn → Djangoなどのフレームワーク」という進み方をキノコードではおすすめしています。

Pythonによるアプリケーション開発の学習時間

Python基礎の学習時間は、1ヶ月かかります。
Python応用の学習時間は、1ヶ月と想定されます。
Djangoなどのフレームワークを使えるようになるには、約2ヶ月。
ただし、Webアプリケーション開発には、アプリケーションとは何か?データベースとは何か?SQLの習得が必要です。
それには3-5ヶ月ぐらいかかると想定されます。
さらに、GitやDockerなども習得するとなるとさらに2-4ヶ月。
したがって、Webアプリについても約1年ぐらいかかることが想定されます。

Pythonで作りたいものがない方

Pythonで作りたいものがないが、Pythonを覚えたい人はどうしたらいいでしょうか?
先日私がツイートした内容は下記です。

以上のように、すべてのビジネスパーソンにおすすめしたいのは、「業務自動化」です。
そういった仕事を自動化をして、仕事の成果につながるような仕事にリソースを集中したほうが良いと考えています。
自分だけではなく、チームや部署の業務を自動化できたら、会社で大きく評価されると思います。
その後、データ分析やデータ活用、または、業務効率化を誰でも使えるようにツール化するためのWebアプリ開発にいかれるとよいと思っています。
したがって、Pythonで作りたいものがない方は、「業務自動化」をすることをおすすめします。

また、習得までにかかる時間を[【入門者向け】Pythonの学習目的別の勉強ロードマップ|Pythonで作りたいものは何?](https://kino-code.com/python-study-target-roadmap/)の記事で紹介しています。
ご興味ある方はこちらもお読みください。

## Pythonを最短で習得したいなら
キノコードでは、Pythonを習得するためのプログラミング学習サービス「[キノクエスト](https://kino-code.com/kq_service_a)」を運営しています。
このサービスは、最短でPythonを習得するために作れたサービスです。
プログラミングは、本を読んだり、動画をみただけでは習得ができません。
ソースコードを書くことが、Pythonができるようになります。
また、[キノクエスト](https://kino-code.com/kq_service_a)には、作りたいものに分けて、学習カリキュラムがあります。
したがって、学習順番に悩むことなく学習を進められます。
また、コミュニティも運営しているので、わからないことがあれば仲間に質問することができます。

キノクエストの特徴は下記の通りです。
- 学習目的別に学習カリキュラムがある
- Python学習をしている仲間が集まるコミュニティがある
- 1000問以上の問題を解いてプログラミングを習得ができる
- 環境構築不要ですぐに始められる
- 動画と連動しているので、インプットもできる
- 月額1,990円とプログラミングスクールと比較しても圧倒的に低価格

キノクエストを詳しく知りたい方は、紹介ページをご覧ください。

▼キノクエストの紹介ページはこちら▼
https://kino-code.com/kq_service_a/