文系のためのPython独学ロードマップ|データ分析目的なら順序はこう変わる

「データ分析ができるようになりたいので、まずPythonを勉強する」。 この動機で入門書を買った文系の多くが、リストや関数の章のあたりで止まります。 原因は能力ではなく、プログラマー向けの学習順序をデータ分析目的の人がなぞっていることにあります。

この記事では、データ分析だけが目的の場合に順序をどう変えるべきかを、ロードマップの形で示します。 筆者は経済学専攻で、Webマーケティングの実務でアクセス解析データの分析にPythonを使っています。 自分が遠回りした反省も込めた構成です。

プログラマー向けの順序で挫折する理由

一般的なPython入門書は、変数、条件分岐、ループ、関数、クラスと進みます。 ソフトウェアを作る人には正しい順序ですが、データ分析が目的の場合、この順序には2つの問題があります。

1つ目は、分析にたどり着くまでが長すぎることです。 クラスまで学んでもデータの集計は1行もできるようになっておらず、「何のために勉強しているのか」が数週間見えません。

2つ目は、最初の関門が環境構築であることです。 Pythonのインストール、パスの設定、エディタの用意という、分析と無関係でトラブルの多い作業が初日に来ます。 ここでつまずくと、プログラミング自体を諦める理由になります。

データ分析には、この2つを両方回避する順序があります。

ロードマップ(4ステップ)

ステップ1:Google Colabで「動かす体験」から入る(初日)

環境構築をせず、ブラウザだけでPythonが動くGoogle Colabから始めます(始め方は別記事で解説しています)。 初日にやるのは、Colabを開いて、電卓代わりの計算と、リストの平均を出す程度の操作だけです。

目的は「Pythonが動いた」という事実を最短で作ることです。 インストールにつまずいて0日目で終わる、という最悪のパターンをこの選択だけで消せます。

ステップ2:文法は「データ分析で使う分」だけ学ぶ(1〜2週間)

文法の学習は必要ですが、範囲を絞ります。

  • 変数、数値と文字列
  • リストと辞書(「データの入れ物」として)
  • for文(「全行に同じ処理をする」道具として)
  • 関数は「使い方」だけ(自作は後回し)

クラス、例外処理、内包表記などは、この段階では学びません。 必要になったときに戻ってくれば足ります。

ステップ3:pandasでExcel的な操作を置き換える(2〜4週間)

ここがこのロードマップの中心です。 pandas(表形式データを扱うライブラリ)で、普段Excelでやっている操作を置き換えていきます。

  • CSVファイルを読み込む
  • 列を選ぶ、条件で行を絞る
  • 合計、平均、グループ別集計(Excelのピボットテーブルに相当)
  • 簡単なグラフを描く

「Excelでできることを、わざわざPythonで」と感じるかもしれませんが、この段階の目的は操作の翻訳です。 すでに頭の中にある分析の語彙(集計、絞り込み、クロス集計)をPythonの語彙に対応づけるのが、文系にとって一番速い習得ルートです。 Excelとの対応関係は移行ガイドの記事にまとめています。

ステップ4:自分のデータで小さな分析を1つ完成させる(2〜4週間)

教材のサンプルデータから離れ、自分に関係のあるデータで「読み込み→集計→グラフ→ひとこと考察」までを1本通します。 大学の課題データ、部活やバイトの記録、公開されている統計データ、何でも構いません。

教材を進めるより、この1本の方が力になります。 自分のデータは形式が汚く、その「汚さへの対処」(列名の変更、欠損の処理、型の変換)こそが実務のデータ分析の大半を占めるためです。

統計とPython、どちらを先に学ぶか

データ分析を志す文系からよく出る質問なので、ここで触れておきます。 結論としては、並行が現実解です。

Pythonだけ先に進めると、平均と分散しか出せないのに道具だけ増えていきます。 統計だけ先に進めると、手計算の練習に時間を使いすぎます。 pandasで集計ができるようになった頃(ステップ3)に統計の学習を始めると、「学んだ手法をすぐデータで試す」循環が回り始めます。

統計側の学習順序は統計検定2級 独学ロードマップで解説しています。

つまずいたときの原則

最後に、独学で詰まったときの原則を2つだけ。

  • エラーメッセージは最後の行から読む:Pythonのエラーは長く表示されますが、原因の要約は最後の行にあります。全部読もうとして圧倒される必要はありません
  • 止まったら「動く最小の形」に戻る:書いたコードが動かないとき、一気に直そうとせず、動いていた状態まで削ってから1行ずつ足し直す方が速く解決します

まとめ

  • 文系がPythonで挫折する主因は、プログラマー向けの学習順序と初日の環境構築
  • Google Colabで環境構築を回避し、文法は分析に使う分だけに絞り、pandasでExcel操作を置き換える順序が最短
  • 仕上げは「自分のデータで1本完成させる」こと。統計の学習はpandasに慣れた頃から並行で始める