見出し画像

【データの集め方講座】Githubを使用してデータを集める-Pythonで可視化-

はじめに

ごあいさつ

ご高覧いただきありがとうございます.
ソフトウェアエンジニアのKitaharaです.
本日はGitHubを使った株式情報の収集方法を解説します!

GitHubについて

GitHubとは

今回のテーマのGitHubですが, 普段は開発のソース管理に使うという方が多いのではないでしょうか?

知らない方のために公式による説明を置いておきます.

GitHubは、ユーザのみなさんからヒントを得て作成された開発プラットフォームです。オープンソースプロジェクトやビジネスユースまで、GitHub上にソースコードをホスティングすることで数百万人もの他の開発者と一緒にコードのレビューを行ったり、プロジェクトの管理をしながら、ソフトウェアの開発を行うことができます。

GitHub

GitHubからデータを入手することは簡単

GitHubからデータを入手する方法は簡単です.
git cloneするとデータが手に入ります.

git cloneする様子

使うものを一通り説明したら例を見ていきましょう

使用するものの説明

  • GitHub

    • 開発者向けのサイト

      • プロジェクトの管理をしながら仲間とコードを共有してソフトウェア開発を行うことができます.

      • 多くのアプリケーションと連携することができます.

      • 公式サイト

    • プロジェクトを検索することができる

      • 他の人のコードを自分でも試してみることができます.

  • Python(3.8)

    • プログラミング言語のひとつです.

      • 型宣言等が無く, 初心者にも扱いやすい言語だと言われています

      • 近年Deep Learningのライブラリが豊富であることから注目を集めている人気の言語です

      • 公式ドキュメント

    • 今回はバージョン3.8を使います.

      • データのプロジェクトに3.8で動かしてくださいと記載されているからです.

  • Pandas

    • Pythonのライブラリの一つ

      • データ解析を支援するライブラリでDataFrame, Seriesというデータ構造とそれに対する演算を提供している

      • 他にもデータの取得やファイル形式にして出力したりすることができる

      • 公式ドキュメント

  • csv, csvファイル

    • csv(comma separated values)とはデータがカンマ区切りにされた構造のテキストファイルのこと

    • データ交換用のフォーマットとして広く用いられている

言語のバージョンと完成図

使用するOS

Ubuntu20.04を使います.

各言語のバージョン

使う言語はPython3です.
3.8を使うのでインストールしていない方はインストールしてください.

今回作るものの完成図

.
├── covid-19
│   ├── README.md
│   ├── data
│   │   ├── countries-aggregated.csv
│   │   ├── key-countries-pivoted.csv
│   │   ├── reference.csv
│   │   ├── time-series-19-covid-combined.csv
│   │   ├── us_confirmed.csv
│   │   ├── us_deaths.csv
│   │   ├── us_simplified.csv
│   │   └── worldwide-aggregate.csv
│   ├── datapackage.json
│   └── scripts
│       ├── process_us.py
│       ├── process_worldwide.py
│       ├── requirements.txt
│       └── update_datapackage.py
└── env
    ├── bin
    │   ├── Activate.ps1
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── easy_install
    │   ├── easy_install-3.8
    │   ├── f2py
    │   ├── f2py3
    │   ├── f2py3.8
    │   ├── pip
    │   ├── pip3
    │   ├── pip3.8
    │   ├── python -> python3.8
    │   ├── python3 -> python3.8
    │   └── python3.8 -> /usr/bin/python3.8
    ├── include
    ├── lib
    │   └── python3.8
    ├── lib64 -> lib
    ├── pyvenv.cfg
    └── share
        └── python-wheels

GitHubからデータを取得

さっそくGitHubからデータを取得していきましょう.
今回はこのデータを取得してみることにします.

データの探し方はsign in と書かれた上部のボタンの左に入力欄があるのでそこにキーワードを入れて入力するとプロジェクトを探すことができます.

sign in の左側の記入欄に入力すると検索ができる

データの取得は下記の様に書きます.
ここでプロジェクトのurlが必要になるのでcodeと書かれたボタンを押してurlをコピーしておいてください.

urlをコピーするには緑のボタンを押す必要がある
# terminal
# プロジェクトを取得
$git clone url

そうするとプロジェクトを取得し始めます.

git cloneを実行した後の様子

セットアップが無ければこれで終了なのですが, このプロジェクトはセットアップが必要とのことなので, 進めていきます

セットアップの内容

プロジェクトの取得が終わりましたら, Pythonのセットアップをしていきましょう.  Python3.8が入っているか確認してください.

$ python3.8 --version # python3.8 があるか確認
$ sudo apt-get update
$ sudo apt install python3.8-venv

# envという名前の仮想環境をPython3.8で作成 
$ python3.8 -m venv env

仮想環境が作れましたらプロジェクトの指定のライブラリをインストールします.

仮想環境にするとPythonのバージョンを指定する他にライブラリをまっさらにすることができるというメリットもあります.

# requirements.txtに書かれたしていのライブラリをインストール
pip install -r covid-19/scripts/requirements.txt

最後にデータを取得します.
process_us.py はPandasを使って表形式にして表示してくれるようです.

# ディレクトリが違うとエラーが起こるので注意
cd covid-19
python scripts/process_worldwide.py

# return 
# ===============
# Working on basic time series
# ...

python scripts/process_us.py

# return
# ===============
# Working on Confirmed Cases
#
#
#           Admin2        Date  Case Country/Region Province/State
# 0        Autauga  2020-01-22     0             US        Alabama
# 1        Autauga  2020-01-23     0             US        Alabama
# 2        Autauga  2020-01-24     0             US        Alabama
# 3        Autauga  2020-01-25     0             US        Alabama
# 4        Autauga  2020-01-26     0             US        Alabama
# ...          ...         ...   ...            ...            ...
# 2473075   Weston  2022-01-26  1408             US        Wyoming
# 2473076   Weston  2022-01-27  1426             US        Wyoming
# 2473077   Weston  2022-01-28  1438             US        Wyoming
# 2473078   Weston  2022-01-29  1438             US        Wyoming
# 2473079   Weston  2022-01-30  1438             US        Wyoming
# ...

おわりに

今回はGitHubを使ってデータを取得し保存する方法を解説しました!参考になったという方はぜひハートボタンを押していってください!

モチベーションに上がります!

記事内で不明な点等ございましたら気軽にご連絡ください.

Twitter: @kitahara_dev
email: kitahara.main1@gmail.com

参考文献


この記事が気に入ったらサポートをしてみませんか?