最終更新日:
業務の自動化やデータ分析ができるPythonを学びたい方向けおすすめ学習サービス
【第1位】Aidemy(公式:https://aidemy.net/
日本の大企業のDXで利用されている、高品質なPythonスクール。給付金で受講料が最大70%OFF。給付金が使えるPython・AI・機械学習特化型スクール。
【第2位】TechAcademy(公式:https://techacademy.jp/
価格を抑えて、教養としてAI・Pythonを学びたいなら!統計学の基礎からPythonのライブラリ使ってデータ分析の手法を習得できます。知名度抜群の総合型プログラミングスクール。
【第3位】CodeCamp(公式:https://codecamp.jp/
価格を抑えながらスクレイピングなどPythonでのデータ収集・業務自動化を学びたいなら!同じく知名度抜群の総合型プログラミングスクール。

「Pythonでデータ分析する方法は?何を勉強すればいいの?Pythonでデータ分析するメリットは?」

DAI
この記事では、初心者でもわかるようにPythonを用いたデータ分析の方法やメリット、Pythonでデータ分析をする上で何を学べばいいか?などについて解説していきます。

実際、この記事を読んでいるあなたは、「毎日業務で、一つずつExcelにデータを打ち込んでめんどくさい」「もっと簡単にデータを取ってきて可視化・分析したい!」と考えているのではないでしょうか?

Pythonはデータの収集からモデル化まで一貫して対応しており、初学者でも比較的書きやすいので、「ちょっとビジネスでデータ分析してみたい!」というときに重宝されます。

DAI
結論、データ分析する流れは、①課題の設定→②データの収集→③データの前処理→④データの可視化→⑤モデル化(機械学習の場合)となります。一つ一つの手順の詳細や学習方法、未経験から独学でデータサイエンティストになれるのか?ということに関しては本編で解説しましたので、ぜひお付き合いください!

Pythonでデータ分析する流れ

データ分析の流れとして、

  • 答えを出したい問い、課題の設定
  • データの収集
  • データの前処理
  • データの可視化
  • 機械学習の場合、モデル化

となっています。これらの流れは、行ったりきたりします。データの可視化をした結果、データの前処理がさらに必要になったり、モデリングした結果、さらにデータの前処理が必要になる可能性があるからです。

①答えの出したい問い、課題の設定

ある分析を行う際に、どういう結果が得られればいいのか定義します。例えば、

  • この二つの広告のうち、どちらがよりクリックされやすいか、商品申し込みまでつながりやすいか
  • もっとも商品申し込みに貢献しているWebページはどれなのか

などです。

個人的には、「答えを出すことによってビジネス成果が生まれるもの」を課題として設定するのがよいと思います。

例えば、以下のようなことを検証したとしても、次の行動に落とし込めません。

  • NG: 気温が上がると、アイスクリームの売上が伸びるのか →仮にそうだったとしても、気温を上げることができないので意味がない

一方で、最初に挙げた二つのような問いに答えられると、次のアクションの根拠とすることができます。「これが分かったらこのアクションが取れる」という仮説をもとに、課題設定することが重要です。

  • OK: この二つの広告のうち、どちらがよりクリックされやすいか、商品申し込みまでつながりやすいか → よりビジネス効果の高い広告を利用することで、より多くの申し込みを得られる
  • OK: もっとも商品申し込みに貢献しているWebページはどれなのか→そのページに似たようなページを作成する、そのページに内部リンクを多く流す構造にすることでより多くの申込みを得られる

この辺のリサーチデザインに関して、参考になる書籍をいくつかまとめておきます。リサーチデザインについては、いろいろな事例に触れながら、どういうことができるのかを多く把握しておくことが重要です。

②データの収集

次に、上記の課題を解決するために、データを収集します。データを収集する方法は、おおざっぱに分けると以下のようになっています。

  • オープンデータの統計を利用する
  • 社内DBのデータを抽出する
  • Webスクレイピング、Web APIを利用してデータを収集する

オープンデータの統計を利用する

一番簡単なのは、オープンソースは、公的統計を利用する方法です。オープンデータとは、公的機関などが二次分析のために公開しているデータセットとなります。

個人的に分析しがいがあるオープンデータをまとめておきます。

  • PISA: OECD加入諸国が実施している学習到達度調査のデータセットです。
  • e-stat:e-Statは、日本の統計が閲覧できる政府統計ポータルサイトです
  • Kaggle: データ分析のコンペサイトです。

オープンデータの分析の例としては、教育社会学者の舞田先生の分析が非常に面白いので、ぜひ参考にしてみてください。

また、Kaggleもオープンデータを分析するプラットフォームです。チュートリアルとなっているカーネルを参考にすると、面白いかと思います。英語が読める方はぜひ参考にしてみてください。

社内DBのデータを抽出する

DBのデータを取得する場合は、SQLや、PythonのSQLラッパーを利用してデータを収集することになります。

SQLの基礎は、Progateで学べるのでぜひ勉強してみてください。

Web API、スクレイピングでデータを収集する

外部Webサイト、ツールからデータを取得する場合、Web APIやWebスクレイピングを利用します。

Web APIとは

Web APIとは、アプリケーションが外部連携するためのデータの窓口のことです。例えば、Twitter, Instagramなど以下のようなAPIがあります。

  • Twitter REST API
  • Instagram Graph API
  • Google Search Console API
  • Slack APIs
  • Chatwork API
  • LINE Messaging API
DAI
Web APIを提供しているサービスなのであれば、Web APIを経由してデータを収集するのがよいでしょう。

実際にWeb APIからデータを取得できるチュートリアルもManajobのPythonコースで学習できます。

Webスクレイピングとは

Web スクレイピングとは、Web上のHTMLのデータを自動収集できる技術のことです。

DAI
PythonでWebスクレイピングを行えば、指定したファイルや画像などを自動で収集できるようになるので、かなり業務効率化することができるんですよね。

Web APIと同様に、以前スクレイピングの方法についてもチュートリアルで作成したので、参考にしてみてください!

③データの前処理

データを収集しても、そのまま利用できるわけではありません。分析の用途に沿った形で、データを加工してあげる必要があります。データの前処理には、以下のようなものがあります。

  • 欠損値の取り扱い
  • カテゴリカルデータを連続データに変換

欠損値の扱い

例えば、データセットの中で欠損値が存在する場合があります。こういう場合、データ分析を行う際に大きく全体の結果をゆがめる可能性があるので、

  • 欠損値をそのまま削除する
  • 平均、中央値、最頻値を代入する
  • 重回帰分析を利用して、代入する

などの方法をとる場合があります。
Kaggleのタイタニック号の死亡率予測コンペを例にします。乗員客船の搭乗港のカテゴリカルデータ(C, Q, Sの欠損値を、最頻値(mode)で置換しているコードです。ソースコードは下記チュートリアルから引用します。

freq_port = train_df.Embarked.dropna().mode()[0] # 欠損値を削除し、その中で搭乗港コードの最頻値を出力

≫'S'

for dataset in combine:
dataset['Embarked'] = dataset['Embarked'].fillna(freq_port) #欠損値に最頻値を代入

train_df[['Embarked', 'Survived']].groupby(['Embarked'], as_index=False).mean().sort_values(by='Survived', ascending=False)

欠損値、最頻値、中央値、平均、仮説検定、p値等の用語がわからない場合は、統計学の基礎を勉強するのがおすすめです。統計学も、機械学習ではなく、純粋な高校数学レベルの統計学ですね。

カテゴリカルデータから連続データに変換

カテゴリカルデータ(文字列)を統計解析が可能なように連続データに変換します。
Pythonを利用すると、搭乗港のコードを、定量的なデータに前処理することが簡単にできます。

for dataset in combine:
dataset['Embarked'] = dataset['Embarked'].map( {'S': 0, 'C': 1, 'Q': 2} ).astype(int)
train_df.head()

Pythonでデータの前処理をする際におすすめの勉強方法

Pythonでデータの前処理を学ぶ場合は、以下の書籍を参考にするとよいでしょう。

また、Kaggleのカーネルを写経しながら学ぶのもおすすめです。

④データの可視化

Pythonでデータの可視化を行う場合は、以下のモジュールを利用できるようになるとよいでしょう。

  • Matplotlib: Pythonで一番メジャーなグラフ描画ツール
  • Pandas: データの前処理モジュール。一部Matplotlibの機能が利用できる
  • Seaborn: Matplotlibのラッパーライブラリ

個人的にはPythonでグラフ描画をするのは、データの前処理を行う際に簡易的にデータを眺める程度で使うのがいいと思うのですが、レポーティングにはちょっと耐えられないかな…という印象です。ですので、Seabornを利用してきれいなグラフを作るなら、CSVにエクスポートしてBIツールに投げ込んだり、Excelのグラフなどでレポーティングしたほうがいいのではないかな?と思っています。

MatplotlibやSeabornを利用して、グラフ描画を行いたい!という方は、以下の書籍がおすすめです。

⑤機械学習の場合、モデル化

データの前処理が終わり、機械学習やディープラーニングを利用できる状態になったら、最後にモデル化を行います。

前述のタイタニック号の分析の場合は、タイタニック号の生存に寄与した変数を、さまざまな統計モデルを利用して、精度を検証します。例えば、

  • ロジスティック回帰分析
  • サポートベクターマシン
  • 決定木

個人的には、機械学習をビジネスにどう応用するかを学ぶ際には、以下の書籍が非常にわかりやすかったです。

Pythonでデータ分析するメリット

Pythonでデータ分析するメリットは以下の点となります。

  • データの収集→前処理→可視化→モデル化までに対応している
  • 大規模データ(csv1000行以上)のデータの前処理がしやすい
  • 初学者にも比較的書きやすい

エクセルだけで完結させようとすると、データの収集がかなりしんどいです。VBAでもできなくはないのですが、ちょっと重いかもしれません。また、前処理もエクセルだけで利用しようとすると、関数だらけになりめちゃくちゃ重くなります。また、かゆいところに手が届かないですね。

また、ほかのプログラミング言語(特にR)と比較すると、初学者でもかなり理解しやすいので、ちょっとビジネスでデータ分析してみたい!くらいのレベル感であれば、Pythonはおすすめできます。

Pythonでデータ分析するデメリット

Pythonでデータ分析するデメリットは、以下2点です。

  • Pythonを覚える学習コストが大きい
  • グラフのレポーティングがつらい

やはり、簡単なデータのグラフ化や、ピボットテーブルを利用して統計解析したいくらいのレベル感であれば、Google SpreadSheetやExcelを利用した方が早いです。コードを書かずにポチポチするだけで簡単にできるので、それくらいのことであればPythonをゼロから勉強する学習コストのほうが大きくなってしまいます。

また、最終的なレポーティングに利用するようなグラフは、Pythonだとちょっとしんどいかなっというのが印象です。CSV出力した後に、だいたいExcelでレポーティングしているのですが、レポーティングをPythonで凝ってつくるのは費用対効果がかなり悪いと個人的には思います。

CSV1000行未満で、データの収集もしないで、簡単なレポーティングをしたいぐらいの集計作業であれば、Pythonは向かないので、むしろExcelを使えるようになったほうがよいかと思っています。Excelで簡単なデータ分析を行う方法は、こちらの本がかなりわかりやすかったのでおすすめです。

Pythonでデータ分析すべきシチュエーション

メリット・デメリットから考えて、Pythonを利用したほうがよいケースとしては、

  • 1000行以上のcsvでデータの前処理をvlockupなどの関数を多用しないといけない。そうすると重すぎて作業できない
  • Web API、スクレイピングなどを通して、データの収集から分析までノンストップでやりたい場合

こんな場合はPythonがパワフルかと思っています。

一方で

  • データ行数が1000行以内
  • プログラミングの学習コストがでかい

などを考えると、ExcelやGoogle Spreadsheetで十分なのではないかと思います。

未経験からPythonでのデータ分析を仕事にできる?

DAI
ここまで、データ分析の手法や流れについて解説してきましたが、未経験から本格的にPythonでのデータ分析を仕事にすることは可能なのでしょうか?
DAI
結論、未経験からPythonを独学で学んで、データサイエティストや機械学習エンジニアを目指すのは、正直結構厳しいです。

なぜかというと、これらの職種は、普通のエンジニアと違って、プログラミングの技術+統計学や微積や線形代数などの数学の素養・機械学習の知識などが求められるので、かなり難易度が高いんですよ。

具体的には、一から勉強するとなると、

  • 学ぶことが多いので、自分で学習ステップを立てていくのが困難
  • 専門性が高いので、プロからのFBなしでは、かなり理解するのが難しい

以上のようになり、相当ハード、というかほぼ無理ゲーなんですね。

こういったデータサイエンティストや機械学習エンジニアとかの類は、まずサーバーサイドエンジニアになってから、そこから勉強して転職というパターンがほとんどです。

将来的にデータサイエンスや機械学習の領域に転職したり、業務で活かしたい場合

ただ、「将来的にデータサイエンスや機械学習の領域に転職したい!」「マーケターの業務でプログラミングを習得・スキルアップして市場価値を高めたい!」という場合であれば可能です。

DAI
その場合は、Python特化型のスクールに通うことをおすすめします。

前述した通り、通常、データ分析領域は学習するのが難しい分野ですが、スクールに通うことで以下のメリットがあり、学習しやすくなります。

  • 体系的にPythonに特化してプログラミングから数学や統計学の知識を学ぶこと可能
  • 現役のデータサイエンティストや機械学習エンジニアに質問できたり、フィードバックがもらえる
  • スクールだからこそ、業界に詳しいカウンセラーやエンジニアの方とキャリアについて相談できる
DAI
スクールでスキルを学びつつ、同時に、一人で転職・就職に向けて動くよりもかなり業界や技術に対しても理解が深まり、良いキャリア設計ができる可能性が高いです。

実際に、Aidemyというスクールを受講され、以下のようにキャリアアップされたケースがあります。

  • もともとコールセンターでマネージャーとして5年間の業務経験
  • その後AidemyでPythonやデータ収集・処理、機械学習を学習
  • 社内転職後、AIプロジェクトでデータの生成や学習を管理するマネージャーとしてキャリアアップ

Pythonでデータ分析を始めるにも、まずは何を分析できるようになりたいのか?どんなキャリアを目指すのか?目標を決めて情報収集してから学習を始めるのが大切です。

DAI
一番手っ取り早いのは、プロに直接聞くことなので、Aidemyの無料カウンセリングで、何を学ぶとプログラミングで自動化やデータ分析できるようになるのか?や目指すキャリアについてカウンセラーと相談してみるいいと思います。

相談することで、無駄に情報収集に時間を割かなくて済みますし、その分他のことに時間を有効活用できますよ。

Pythonが本格的に学べるおすすめのスクール

ここからは、DAINOTEが実際に取材・体験しておすすめできるPythonのスクールについて紹介しておきますね。

  • Aidemy(公式:https://aidemy.net/
    日本の大企業のDXで利用されている、高品質なPythonスクール。給付金で受講料が最大70%OFF。給付金が使えるPython・AI・機械学習特化型スクール。
  • TechAcademy(公式:https://techacademy.jp/
    価格を抑えて、教養としてAI・Pythonを学びたいなら!統計学の基礎からPythonのライブラリ使ってデータ分析の手法を習得できます。ビジネスマンにおすすめ!
  • CodeCamp(公式:https://codecamp.jp/
    価格を抑えながらスクレイピングなどPythonでのデータ収集・業務自動化を学びたいなら!こちらもビジネスマンにおすすめ!

Aidemy

Aidemy(公式):https://premium.aidemy.net/

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

Aidemyは、AIに特化した東大発のプログラミングスクールです。

東証一部上場企業のAI研修などもおこなっている、日本最大級のAI教育サービスを提供しています。

AIを本格的に学べるプログラミングスクールの中でも、非常にハイレベルで高品質のスクールです。

DAI
あなたの興味が以下2つのどちらかに当てはまるのであれば、Aidemyがおすすめです。
  • ある程度Web系のプログラミングを学んでいる
  • AIについて本格的に仕事にしたいと思っている

Aidemyでは、Pythonに特化した講座を8種類用意しています。

  • AIアプリ開発講座
  • データ分析講座
  • 自然言語処理講座
  • 実践データサイエンス講座
  • E資格対策講座
  • 機械学習マスター講座
  • ビジネスAI対策講座
  • 組織を変えるDX講座

各コースの金額は以下の通りです。

3ヶ月 6ヶ月 9ヶ月
AIアプリ開発講座 ¥528,000 ¥858,000 ¥1,078,000
データ分析講座 ¥528,000 ¥858,000 ¥1,078,000
自然言語処理講座 ¥528,000 ¥858,000 ¥1,078,000
実践データサイエンス講座 ¥528,000 ¥858,000 ¥1,078,000
E資格対策講座 ¥327,800
機械学習マスター講座 ¥528,000 ¥858,000 ¥1,078,000
ビジネスAI対策講座 ¥330,000
組織を変えるDX講座 ¥330,000

引用:https://premium.aidemy.net/(2022年6月時点。金額はすべて税込価格です)

DAI
実際に受けてみて満足できなかった場合、8日間以内であれば全額返金保証の対象になります。

また、雇用保険の支給要件を満たしている方であれば、以下4つの講座で教育訓練給付制度(専門実践教育訓練)を利用できます。

  • AI アプリ開発講座
  • データ分析講座
  • 自然言語処理講座
  • E資格対策講座

対象者であれば、実際に支払った受講料のうち最大70%を支給してもらえる制度です。

DAI
528,000円(税込)のコースで70%の支給なら、158,400円(税込)で受講できます。

引用:https://premium.aidemy.net/

Aidemyでは挫折しにくいサポートに加え、一部の講座では残りの受講期間を有意義に使える学び放題システムを利用することもできます。

丁寧なサポートを受けつつ、AIに特化した講座を受けたい方が学びやすいスクールです。

国の給付金を利用すれば安く受講できるので、興味のある方は対象者かどうか一度確認してみましょう。

DAI
Aidemyでは無料カウンセリングを実施中です。気になる方はぜひ受けてみることをおすすめします。

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

TechAcademy

2022年2月時点, TechAcademy公式サイトより

【TechAcademy】コスパ良くAIを学びたいならここ!
¥174.900から機械学習やデータサイエンスを学べる!Pythonを使ったAIや統計学に興味がある方必見!

TechAcademyは完全オンラインのプログラミングスクールです。

専任のエンジニアがマンツーマンでメンターとしてサポートしてくれます。

TechAcademyでAIを学べるコースとしては

  • AIコース
  • データサイエンスコース

があります。

AIコースとデータサイエンスコースのポイント

AIコースは、Python  x AIを専門に学びたい人におすすめです

具体的には、

  • 機械学習
  • ディープラーニング
  • クラスタリング

などを、Pythonのライブラリで実装していきます。

一方で、データサイエンスコースは、Python x 統計学を学びたい人におすすめです。

より本格的に

  • 統計学の理解
  • 統計モデリングの理解

などを行っていきます。

AIコース データサイエンスコース
学習内容 Python
機械学習
ディープラーニング
クラスタリング
プログラミング
機械学習
数学・統計学
モデルの構築
価格/受講期間 174,900円 / 1カ月
229,900円 / 2カ月
174,900円 / 1カ月
229,900円 / 2カ月
公式ページ https://techacademy.jp/course/ai https://techacademy.jp/course/datascience
TechAcademyの評判は悪い?元受講者がメリット・デメリットや料金を解説!

30秒ほどで無料体験に申し込むと、

  • HTML / CSSの学習コースを無料で体験できる
  • 1回分の現役エンジニアとのビデオチャットで相談できる
  • 無料体験からの本受講で最大1万円引き

という特典があるので、まずは公式サイトから無料体験を受講してみるのがおすすめです!

※更新情報 2022年2月2日時点、TechAcademyでは3つの特別割引プランがあります。
①『先割』受講料5%OFF:対象プランに先行申し込みで適応
②『トモ割』10,000円割引:同僚や友人が一緒に受講される場合に適応
(別々のコースになっても割引は適用されます
③ 『複数コースセット割引』:複数コースをセットで申し込むと、別々に学ぶよりも最大138,000円もお得に。

\ 無料体験で最大1万円引き!30秒で学習スタート!/

無料体験はこちら

CodeCamp

CodeCamp公式サイトより:https://codecamp.jp

【CodeCamp】お手頃価格でAIが学べる!
わずか¥165,000+入会金¥33,000で学べるスクール。面倒な単純作業をPythonにやらせたい!という方必見のスクール!

CodeCamp(コードキャンプ)は、完全オンライン・マンツーマンレッスン型のプログラミングスクールです。

中でも「データの抽出や整理を学びたい」という人におすすめなのが「Pythonデータサイエンスコース」です。

データサイエンス領域の「データ収集」を重視したカリキュラム

Pythonが活躍するデータサイエンスの世界には、

  • 「データ収集」
  • 「データ加工」
  • 「モデル構築」

の3つのフェーズがあります。

データサイエンスコースでは、その中でも「データ収集」フェーズに重きをおいた学習内容となっています。

PythonのWebスクレイピングテクニックを使ってWeb上から必要なデータを抽出し、Excelやcsvの形に整理するというような、実務で役立つスキルを会得できるでしょう。

このスキルを会得すれば、面倒な単純作業をPythonにやらせることができるようになります。

気になる人は、無料体験レッスンで内容を体験してみてください。

DAINOTE読者限定!受講料15%OFFクーポンプレゼント
CodeCampの受講料が15%OFFになるクーポン券をプレゼント中!
他の割引キャンペーンよりもお得に受講するチャンスです!
(当クーポン以外の割引キャンペーンとの併用はできません)

DAINOTE記事経由でCodeCampの無料オンラインカウンセリングを受けるだけ!
カウンセリング完了後のアンケートにクーポンコード694076を入力してください。
CodeCampクーポンCodeCampの無料カウンセリングを受けてみる

※1万円OFFクーポンなどの他キャンペーンとの併用不可
※クーポン取得後は7日間の利用期限があります
※アンケートに回答後、割引適用の詳細をメールでお知らせします。実際にメールが届くまでに最大で24時間程度かかることがあります
※アンケート回答後24時間経過してもメールが届かない場合は、迷惑メールBOXを確認してください

データサイエンスコース
料金 / 期間 受講料金 165,000円(税込) / 2ヶ月
+ 入学金 33,000円(税込)
学習内容 Pythonを利用したデータ収集
公式 https://www.lp.codecamp.jp/python

CodeCamp(公式):https://codecamp.jp

【CodeCamp】お手頃価格でAIが学べる!
わずか¥165,000+入会金¥33,000で学べるスクール。面倒な単純作業をPythonにやらせたい!という方必見のスクール!

プログラミングを仕事にしたい人向け

DAI
以下の記事は、これからエンジニアになりたいと考えている人に向けて書いた記事なので、参考にしてみてください。
エンジニアに未経験から転職するためにやるべき3ステップ【知らないと後悔します】
【実例つき】AIエンジニアになるには?未経験からなる方法を解説