すべての日本人におすすめしたい「Pythonによるデータ分析」|学習時間、必要なライブラリ、Python分析でできること、などの学習ロードマップを10,000文字で徹底解説

プログラミング学習ナレッジPython学習方法Pythonデータ分析

先日、大企業の役員の方がおっしゃっていたことで印象的だったのは「全従業員にデータ分析スキルを習得して欲しい」という言葉です。
いまや、ホワイトカラーの仕事で、データ分析のスキルがいらない職種は少ないと言ってもいいでしょう。
つまり、ニーズが高い仕事であり、年収をあげられる余地のあるスキルです。

また、企業は今、DX化を実現できなけば生き残れないという危機感を抱えています。
大企業ほどその危機感は強く、大きな予算を投下してDXを進めています。

DX化で最初にやるべきは、事業の見える化です。
営業成績の見える化、キャッシュの見える化、マーケティング状況の見える化、在庫状況の見える化など。
事業が見える化するから、改善点がわかります。
事業を見える化、つまり、データを見える化をするスキル、今後ますます重要になってきます。
ではどうやったら、データを見える化できるようになるのでしょうか?
それはデータ分析のスキルです。

また後述しますが、Pythonでデータ分析のスキルを身につければ、業種や職種が変わっても持ち運びができるスキルです。
そこで、この動画では、Pythonでデータ分析スキルを身につけるための情報を徹底的に解説をします。

この記事の執筆・監修

キノコード
キノコード

テクノロジーアンドデザインカンパニー合同会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

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

この記事は、こんな方におすすめです。

  • Pythonでデータ分析ができるようになりたい人
  • Pythonによるデータ分析の習得のための学習手順を知りたい人
  • Pythonによるデータ分析の学習時間の目安を知りたい人

Pythonでデータ分析を身につける魅力

TableauやPowerBIなどのBIツール。
このBIツールが、企業にも導入が進んでいます。
BIツールでも、データ分析ができます。

しかし、転職をするとBIツールが変わってしまう。
また、部署ごとに使っているBIツールが違う。
そんなケースがあります。

さらには、BIツールでは、できることに限界がある。
例えば、分析だけではなく機械学習による予測をしたい。
他のツールとの連携ができない。
そんなことを感じたことはありませんか?

データ分析をPythonで身につける魅力3つ

私は、データ分析は、Pythonでできるようになることをおすすめします。
理由は3つです。

1.Pythonはポータブルスキル
2.Pythonには機械学習や仕事自動化などの拡張性がある
3.BIツールも使いこなせるようになる

順に説明していきます。

1つめ:Pythonはポータブルスキル

ポータブルスキルとは、業種や職種が変わっても持ち運びができるスキルのことです。
予算が潤沢な企業さまであれば、BIツールを導入していることでしょう。
しかし、予算が潤沢な会社は、プライム上場企業のようなごくごく一部の会社さまです。
日本の99.7%は中小企業です。
予算には限りがあります。
その点、Pythonは無料です。
導入費用が、かかりません。
したがって、企業や部署が変わったとしても利用できる可能性が、BIツールより高いでしょう。

また、Pythonの需要は伸び続けています。
今後、Pythonが利用できる企業も増えていくことが予測されます。
Pythonの需要の変化

2つめ:Pythonには機械学習や仕事自動化などの拡張性がある

Pythonではデータ分析のほかに、仕事の自動化、Webアプリ開発、機械学習など色々なことができるようになります。
例えば、データ分析の結果をTeamsやSlackに通知をしたり、あなただけのBIツールのアプリを作ることもできます。
ほかにも、データ分析だけではなく、機械学習による予測もできるようになります。
ChatGPTと連携させて、分析レポートを書いてもらうこともできます。
つまり、データ分析をPythonでできるようになると、学習するコスパがいいということになります。

3つめ:BIツールも使いこなせるようになる

Pythonでデータ分析をできるようになると、BIツールは時間をかけずに使いこなせるようになります。
「Pythonでできたのだから、このBIツールでもできるだろう」
という予測ができるからです。
私も最近、新たにLookerというツールを使いましたが、1時間前後で社内で共有するレベルに到達しました。
なぜできるようになったか。それは私がPythonができるからです。
BIツールに踊らされない。
それがPythonだと考えています。

Pythonによるデータ分析について、魅力を感じていただけたでしょうか?
では、Pythonによるデータ分析はどのようなステップで学習すればいいでしょうか?

Pythonによるデータ分析の学習ステップと学習時間

データ分析 学習ステップ

それでは、Pythonによるデータ分析を身につけるためのコツについて簡単に説明をします。
それは、「データ分析でどんなことをやりたいのかを決めること」です。
言い換えると、暫定でもいいのでゴールを設定することです。

参考記事
Pythonを最短で習得するための、たった1つのコツ

私は毎日プログラミング学習者と接しています。
私の経験からも、ゴールを設定せずに学習をすると、挫折をしてしまいがちです。
そこで、皆さんにはゴールを設定をして、早く基礎学習を終わらせることをおすすめします。
そして、Pythonで作りたいものに早く着手をして欲しいと思っています。
もし仮に作りたいものがない場合は、まわりの人が喜ぶものを作ってみることをおすすめします。

さて、Pythonによるデータ分析スキルを身につける学習ステップは、次の通りです。

  1. Python基礎文法
  2. Pandas
  3. MatplotlibとSeaborn
  4. データ分析の実践

データ分析 学習ステップ

Python基礎とは?

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

Python基礎の習得にかかる学習時間

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

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

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

Pandasとは?

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

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

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

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

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

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

Pandasの習得にかかる学習時間

Python基礎の学習時間は1ヶ月かかるとお伝えしました。
キノコードが運営するプログラミング学習サービス「キノクエスト」には、Pandasの問題は、約300問あります。
1日1時間ずつ10問進めれると仮定します。
そうすると、30日間で終わることになります。
ただし、復習などを含めると、その倍はかかると想定されます。
したがって、Pandas習得までにかかる時間は、2ヶ月と想定されます。

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

PandasでPythonによるデータ集計ができるようになったら、次は、Pythonによるグラフ化の技術の習得です。
このグラフ化が得意なライブラリが、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ツールのように有料ではありません。
また、無料なので、どの職場にいっても利用可能ですよね。
ぜひ習得されることをおすすめします。

Matplotlib、Seabornの習得にかかる学習時間

キノコードが運営するプログラミング学習サービス「キノクエスト」には、MatplotlibとSeabornの問題が230問ほどあります。
1日10問ずつ解くとなると、23日かかります。
復習の時間を倍とると、50日かかることになります。
したがって、Matplotlib、Seabornの習得までにかかる時間は、約2ヶ月と想定されます。

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

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

Python基礎の学習時間は、1ヶ月かかるとお伝えしました。
Pandasの学習時間は、2ヶ月で終わります。
MatplotlibとSeabornは、約2ヶ月です。
したがって、Pythonによるデータ分析の学習時間は、合計、5ヶ月と想定されます。

Pythonによるデータ分析の実践

Python基礎文法、Pandas、Matplotlib、Seabornは、データ分析の実務に移るための準備です。
ここからがスタートです。
ここに辿り着くために、今まで基礎的な勉強をしてきました。
早速、Pythonよる実践をやってみましょう。

では、どんな分析をやればいいでしょうか?
身近なものだと、以下のようなものがあります

・家計の分析
・ご自身の運動や健康状態と体重や筋肉量についての分析
・学習状況と成果の分析
・SNSの分析
・ホームページのアクセス数の分析
・株や為替の分析

他にも、このあとでPythonでできることについても紹介します。
そこもご参考になさってください。

もしご自身でやってみたい分析がない場合はどのようにすればいいでしょうか?
まわりの人が喜ぶものを作ってみることをおすすめします。

SNSをやっている友人がいるかもしれません。
家族に経営者の知り合いを紹介してもらって事業の見える化にい挑戦してみてもいいかもしれません。
家族が家計をつけているのであれば、どうやったら貯金額を増やせるか考えてられるかもしれません。

まわりの人が喜ぶことをすると、実績にもなります。
ポートフォリオにもなります。
いいことだらけです。
ぜひPythonによるデータ分析の実践をやってみましょう。

Pythonによるデータ分析でできること

Pythonによるデータ分析でどんなことができるでしょうか?
具体的な例をいくつかあげていきます。

ウェブアクセス分析

ウェブアクセス分析です。
Pythonでログデータを読み込んだり、Google Analytics APIを使用してデータを取得、訪問者の行動やコンバージョン率などを分析することができます。
これらのデータをPythonで自動で取得してきて分析をすることができます。
他にも、APIを使うと一瞬で自動でさまざまなデータを取得できます。

A/Bテストの分析

A/Bテストの結果を分析するために統計的仮説検定を行うこともできます。
なぜなら、Pythonでは、統計処理を行うことができるからです。

顧客分析(CRM分析)

自社を利用してくれている顧客の分析をすることができます。
具体的には、顧客の生涯価値(LTV)の分析、顧客解約率の分析、チャーン分析などを行うことができます。
他にも、セグメンテーション分析、RFM分析、NPS分析、パレート分析などができます。

統計的な分析

A/Bテストの分析のところでも書きましたが、Pythonでは、統計処理を行うことができます。
統計ができるライブラリとしては、SciPy、Statsmodelsなどが代表的です。
これらのライブラリを使うと、下記のような統計的な分析ができるようになります。

  1. 相関分析: 二つ以上の変数間の関係性を測定します。ピアソンの相関係数やスピアマンの順位相関係数などを計算できます。
  2. 回帰分析: 変数間の因果関係を調査します。線形回帰、重回帰、ロジスティック回帰などを行うことができます。
  3. 仮説検定: 平均値の差の検定(t検定)、分散の差の検定(F検定)、カイ二乗検定などを通じて、特定の仮説がデータに基づいて有意であるかどうかを評価します。
  4. 確率分布とランダムサンプリング: 正規分布、二項分布、ポアソン分布などの確率分布からのサンプリング、または確率質量/密度関数、累積分布関数、生存関数などの計算が可能です。

株や為替の分析

株や為替の分析もできようになります。
機械学習を使うと、分析のみならず、株価などの予測などもできます。
他にも、仮想通貨の分析、資産運用という意味では不動産価格の分析もできるようになります。

ソーシャルメディア分析

ウェブアクセス分析のところでも説明しましたが、FacebookやX(旧:Twitter)にはAPIがあります。
InstagramやLINEにもAPIがあります。
これらのAPIでデータ取得をしてきて、ソーシャルメディア分析もできるうようになります。
具体的には、トレンドの分析、バズったツイートの分析、フォロワーの推移分析などができます。

SNSのAPIには次のようなものがあります。

  1. Facebook Graph API:Facebookのユーザー情報や投稿、写真などをPythonで操作できる
  2. Twitter API:Twitterのツイートの取得や投稿などをPythonでできる。
  3. Instagram Graph API: Instagramのデータを操作するためのAPIです。ビジネスプロファイルの情報の取得や、メディアのアップロード・取得、インサイトの取得などが可能です。
  4. LinkedIn API: LinkedInプラットフォームにアクセスし、ユーザープロフィール、職歴、教育歴などの情報を取得したり、投稿を行ったりすることができます。
  5. Snapchat Marketing API: Snapchatの広告プラットフォームにアクセスし、広告キャンペーンの作成や管理を行うことができます。
  6. Pinterest API: Pinterest上のボードやピンを操作したり、ユーザー情報を取得するためのAPIです。

APIの解説については、
全人類におすすめしたいのは「Pythonによる業務自動化」|具体的な自動化の事例を56例をまじえて解説【入門者向け】」の「APIの利用」に解説があります。
こちらもあわせて参考にしてみてください。

Pythonでデータ分析をするときによく使うライブラリ

Pythonでデータ分析をするときに使うライブラリとして、Pandas、Matplotlib、Seabornについて紹介しました。
基本的な分析をするには、これだけで十分です。
ただし、高度な分析にチャレンジをされるのであれば、Numpy、Statsmodels、SciPy、Scikit-learnのライブラリも習得をしましょう。

高速に計算ができるNumpy

基本的には、Pandasでたいていのデータ加工ができます。
しかし、Pandasには弱点があります。
計算が遅いことです。
大規模データになってくると、処理に何時間もかかることあります。
一方で、Numpyは計算が高速です。
Numpyは、「ナムパイ」と呼ばれることが多いです。
このNumpy、なぜ速いのか?
NumPyはC言語をベースに作られているからです。
C言語は非常に高速です。
そのため、Numpyでは、高速な数値計算ができるのです。
Pandasの計算を遅く感じたら、Numpyを学習するのも方法でしょう。
なお、Numpyでも、統計計算、線形代数演算なども得意です。
しかし、Numpyの特徴をあげるなら「高速計算ができる」ということをあげます。

統計が得意なStatsmodels

Statsmodelsは、ライブラリの中で最も統計が得意といっていいでしょう。
Statsmodelsは「スタッツモデル」と呼ばれることが多いでしょう。
確率分布の生成、回帰分析、相関分析、t検定、カイ二乗検定など、幅広く統計に関する処理をしてくれます。
有料の統計ツール並みにできることがあるといってもいいでしょう。
Pythonはフリーです。
ツールにしばられることがありません。
統計的な分析もしたい方は、Statsmodelsも習得をしましょう。

計算が得意なSciPy

SciPyは計算が得意です。
SciPyは、「サイパイ」と呼ばれることが多いでしょう。
微分、積分、線形代数、確率統計の処理、最適化(関数の最小化や最大化、制約付き最適化問題の解決)など、ありとあらゆる計算ができます。
また、Scipyは、NumPyと密接に統合されているため、計算も高速です。
大規模データの高度な計算をする場合には、Scipyを使うとよいでしょう。
理系の大学生、研究職や開発職の方にニーズが高いライブラリでしょう。

機械学習が得意なScikit-learn

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

Pythonによるデータ分析を最短で習得したいなら

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

キノクエストの特徴は次の通りです。

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

キノクエストを詳しく知りたい方は、概要欄にあるURLから紹介ページをご覧ください。

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