2017-10-07

Python データ分析入門マニュアル - 実例を使ってWebスクレイピングからデータビジュアライゼーションまでやってみよう -

Python データ分析入門マニュアル 



Webスクレイピングからデータビジュアライゼーションを、プログラミングを学んだことのない人向けに0から解説するマニュアルです。何から学ぶべきか、環境構築はどうするかからはじまって、Webスクレイピング、データの前処理、そしてデータビジュアライゼーションまでを丁寧に解説します。
すべてのカリキュラムが一カ月で終わるようにしています。過去記事にまとめてあるので、それを順に追って行ってもらう形になります。

目次

  • 基礎的な統計の知識をつけよう(0-2日)
  • プログラミングの基礎を学ぼう:HTML・CSS・Javascirpt・Python (10日)
  • Cloud9をセットアップしよう(Seleniumと定期実行環境の設定) (2日)
  • Cloud9とJupiterNotebookで、Webスクレイピングとデータ分析をしてみよう (5日)
  • PythonでAPIを利用しよう(3日)
  • Botを作ろう(3日)
  • 実際にAPIやWebスクレイピングを利用しデータ分析をやってみよう(5日)




基礎的な統計の知識をつけよう(0-2日)


クリア条件:以下の用語を理解している


  1. 平均
  2. 中央値
  3. 最頻値
  4. ヒストグラム
  5. 散布図
  6. 相関係数


このチュートリアルの読者としては、いかの能力・もしくはモチベーションが存在する人となっています。

(1)プログラミング言語を学んだことがない人
(2)プログラミングに興味がある
(3)データ分析に興味がある人
(4)基本的な統計の知識がある(基礎統計相関)

(4) 基本的な統計の知識は、以下の用語を聞いて、なんとなく意味が分かれば大丈夫です。

  • 平均
  • 中央値
  • 最頻値
  • ヒストグラム
  • 散布図
  • 相関係数

これらの知識がない場合は、先に「マンガでわかる統計学」という本を読んでください!長くても2日で読み切り、最低限の知識がキャッチアップできると思います!



マンガでわかる統計学
マンガでわかる統計学
posted with amazlet at 17.10.07
高橋 信 トレンドプロ
オーム社
売り上げランキング: 849



プログラミングの基礎を学ぼう:HTML・CSS・Javascirpt・Python (10日)

クリア条件

  • HTMLの初心者レベルを理解している
  • CSSの初心者レベルを理解している
  • Javascriptの初心者レベルを理解している
  • Pythonの初心者レベルを理解している
  • Gitが何をしているか理解できている
  • コマンドラインが何をしているか理解できている

Webスクレイピングから、データ分析を行うためには、最低限HTML、CSS、Javascript、
Pythonの知識が必要です。というのも、まず処理全般を扱うのがPythonなため、Pythonはマストで必要となります。


また、Webスクレイピングを行う場合、ページからデータを取得する必要がありますので、HTML、CSS、Javascriptという、ページの見た目を操作している言語を学ぶ必要があります。いかのページを読んで、学習してみてください。


Python初心者が3カ月でWebスクレイピングができるようになるために必要な知識

Cloud9をセットアップしよう(Seleniumと定期実行環境の設定)

クリア条件

  • Cloud9に登録し、自分のPython環境を構築している
  • Cloud9上でSeleniumが実行可能な状態になっている(特定のURLへ移動して、タイトルを取得できるようになっている)

さて、プログラミング言語を学べましたね。ここまで来たら、実際にコードを書いていきます。まず、Pythonが動く環境のセットアップが必要となります。以下の記事を参考にして、Cloud9で環境を作成してください。


【Pythonの環境構築でもうつまづかない!】 面倒な環境構築は、クラウドに全部任せよう - Cloud9・Microsoft Azure Jupiter Notebook -


また、Webスクレイピングを行う際に必要なSeleniumというパッケージを設定する必要がありますので、こちらの記事を参考にして進めてみてください。


【Python】Seleniumの定期処理をHerokuから実行するための環境構築方法 - Cloud9編-

Cloud9とJupiter Notebookで、Webスクレイピングとデータ分析をしてみよう

クリア条件

  • Microsoft Azure Jupiter Notebookに登録し、Web上でJupiter Notebookを利用できるようになっている
  • ログインが必要なサイトからスクレイピングでデータを取得できている
  • 次へが必要なサイトから、スクレイピングでデータを取得できている
  • pandasでデータフレームやSeries型のオブジェクトを作成し、CSVの読み書きができる
  • 取得したデータをpandasで操作し、データの前処理ができている
  • データを散布図やヒストグラムで表現できるようになっている

さて、ようやくCloud9上から、スクレイピングプログラムの起動を確認することができるようになりました。今回から、本格的にコードを書いていきます。実際にサイトに自動でアクセスし、データを取得し、それらのデータをCSVにまとめるところまでやっていきます。下記の記事を使って、実際に進めてみてください。


【Python】Pandasチュートリアル - CSVの読み書き:データの作成・追加・編集・削除を行う -

Pandas データの前処理で使えるチートシート

【Python】Webスクレイピングチュートリアル -ログインが必要なサイトの場合-

【Python】Webスクレイピングチュートリアル -「次へ」ボタンが存在するページをすべて取得する場合-

【Python】スクレイピング→データ収集→整形→分析までの流れを初心者向けにまとめておく ~Pythonに関するはてな記事を10年分スクレイピングし、Pythonトレンド分析を実際にやってみた~


PythonでAPIを利用しよう

クリア条件

  • 何かしらのAPIを利用し、データを取得したりポストできるようになっている

さて、これまででスクレイピングを利用してデータを取得できるようになりました。しかし、データの取得のためのコード、なかなか面倒ではありませんでしたか。実はサイトによっては、APIというものがデータをJSON形式で提供してくれたりするのです。APIを利用して、データを取得する方法を今回は学びます。以下の記事をみて進めてみて下さい。

【Python】Pythonで遊んだAPIまとめ - DMM ・ Tinder ・ Twitter ・ Slack - 

【Python】Tweepyの使い方まとめ!

PythonでTinderのAPIを利用する

PythonでTinder APIを使ってネトストとサイバーナンパ師やってみた

Botを作ろう


クリア条件

  • SeleniumかAPIを利用して、定期実行プログラムを組み、botを作成できるようになっている

さて、これでSeleniumとAPIで、Web上のデータを自由自在にとれるようになりました。しかし、いちいちプログラムを実行しなければいけませんね。プログラムの実行まで自動化できたらどんなに素晴らしいことでしょうか。今度は、selenium、APIのプログラムを自動で定期実行する方法を学んでいきます。下記の記事を参考にしてみてください。


【Python】DMM Web APIでエッチなデータを取得し、Twitterで自動でえっちな投稿してみた
【Python】Slack Botの作り方まとめ - Webスクレイピング・定期実行の合わせ技 -


実際にAPIやWebスクレイピングを利用しデータ分析をやってみよう

クリア条件

  • 自分の調べたいことを決め、WebスクレイピングやAPIを利用し、データ分析を行うことができるようになっている

ここまでくれば、自分でデータを集めてきて、さらに自動で実行して、分析までできるようになりました。あとは自分で好きなことをやってみてみましょう。個人的には気になったことをいろいろ調べて、統計データ解析を行って発表しています。僕のでもなんでもよいので、下記の記事を参考にして、データアナリティクスをやってみましょう!


COBOLで転職活動したらどうなりますのん? COBOLer転職市場を分析してみた

ぶっちゃけ、日本で廃れているプログラミング言語ってなんなの?

注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...