[超基礎編] jupyterNotebookについて


これはなにか?

私はソフトウェアエンジニアでもデータサイエンティストでもないですが、日々の業務でMySQLやBigQuery等からデータを抽出する中で、それらを統計的に表現する手法、可視化することに興味が湧いてきました。
それらを実現するにはjupyter notebookが適切だと考え、最近jupyternotebookでPythonを書いています。
本記事は、私がjupyterを利用するにあたっての備忘録をまとめたもので、pandasを使ったCSVデータの読み込みから基本統計量等の確認および簡単なデータの可視化方法をスコープとしています。
※ あくまでスーパー素人が書いた記事です。

JupyterNotebookとは?

公式ドキュメント参照

コードメモ

Pandasとは?・・・データ解析支援する機能を提供するライブラリである。特に、数表および時系列データを操作するためのデータ構造と演算を提供する。
numpyとは?・・・数値解析をするライブラリ
pyplotとは?・・・可視化するライブラリ

1.データのインポートおよびデータの確認

test.ipynb
# 1.データ分析に必要なライブラリをインポートします

import pandas as pd 
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline

#2.データを読み込む ※カラムがある前提です。ない場合はheader=Noneをオプション指定します
# head()、tail()関数を用いることで、先頭あるいは後尾のデータの中身を確認できます。行の数が多い際に使っています
data = pd.read_csv("hogehoge.csv") 

#3.データの行列を確認する
data.shape # -> (行、列)がかえってきます。

#4.基本統計量(データの基本的な特徴。平均、標準偏差、最大値、最小値、等)やデータのTypeの確認をします
# また、mean()などの関数を利用することにより、平均だけ返すみたいなことも可能です
data.describe()
data.info()


# カラムを指定する場合は以下。SQLでいうwhere句に「hogehoge = hoge」の指定をするイメージ
data["hoge"]

2.データの可視化

test.ipynb

# 折れ線グラフを書く。
# オプションで大きさを指定することが可能。figsize=(横の大きさ,縦の大きさ)で指定します
# また、オプションでタイトルを指定可能です。title = "hoge"
data["hoge"].plot()

# x軸およびy軸の名前を指定します
label = date.plot(figzize=(15,5),title="test")
label.set_xlabel("hogehoge")
label.set_ylabel("hogehoge")

#変数.plot.hist()でヒストグラムを、変数.boxplot(by=x軸)でボックスプロットも可能です。