【Pythonメモ】データ分析初めての人のためのPython環境構築

この記事は、社内勉強会の際に利用したPython実行環境準備用の記事を公開用に編集したものです。
100番煎じですが、もったいないので共有。
windows環境を前提にしています。

# 前提

Anacondaをインストールするのが一番単純で簡単だと思います。
ITに疎い方は迷わずAnacondaにしましょう。
500Mぐらいの超大容量インストーラーです。
・時間かかるので注意。
・bit数間違えないように注意。
・Python3.6系推奨

[ダウンロードはこちら](https://www.anaconda.com/download/)
[参考ブログはこちら](https://weblabo.oscasierra.net/python-anaconda-install-windows/)

## 補足
勉強会として実施する場合は、Dockerのような仮想環境化で実行環境を提供できるのが理想的だと思います。
また、少しクセはあるものの、Google colaboratoryが非常に手軽で勉強会向けかもしれません。


# Environmens(実行環境)をつくる

AnacondaNavigatorを起動。

<img src="https://qiita-image-store.s3.amazonaws.com/0/165789/717a3876-17c2-da08-a363-a53098fde032.png" width = 250>


「Environments」をクリック。
![図2.png](https://qiita-image-store.s3.amazonaws.com/0/165789/08960a55-9962-3bd5-9451-2f82cd55db11.png)



「Create」をクリック
![図3.png](https://qiita-image-store.s3.amazonaws.com/0/165789/f2969eda-5e9e-719f-975e-05e38a4753af.png)


適当に環境の名前を入れて、Python3.6であることを確認して「Create」！
これも時間かかるかも。
![図4.png](https://qiita-image-store.s3.amazonaws.com/0/165789/7bcee7a9-e520-ec5d-17d3-7db0d9cd5060.png)



# 必要なライブラリのインストール

データ分析にあたって必要となる以下の主要ライブラリをインストール

- numpy（多次元配列等の数値計算を行うライブラリ）
- pandas（データフレーム操作等のライブラリ）
- matplotlib（numpyのためのグラフ描写ライブラリ）
- seaborn（これもグラフ描写ライブラリ。綺麗。）
- scikit-learn（機械学習ライブラリ。やる場合は必須といって言い）


さきほどのEnvironmensから作成した環境名を選択
Not installedを選択して、上記ライブラリを検索。
チェックしてそれぞれインストールする。
これも結構時間かかる。

![図8.png](https://qiita-image-store.s3.amazonaws.com/0/165789/6beec1b0-345d-05bb-8334-023193a4dd5f.png)




# JupyterNotebookをインストール

ブラウザ上でPython書ける優れもの。
初心者はこれがやりやすいので、推奨です。

Homeを選択。
![図5.png](https://qiita-image-store.s3.amazonaws.com/0/165789/14c04083-62cb-9da0-24c1-bfcdd70e405b.png)



Applications　on でさっき作成した環境名を選択
![図6.png](https://qiita-image-store.s3.amazonaws.com/0/165789/b6a5ade8-4e38-38ab-48fb-a116f2a86dcf.png)


JupyterNotebookのインストールをクリック
![図7.png](https://qiita-image-store.s3.amazonaws.com/0/165789/0e8bb2b1-4186-c3ce-e844-0f08b2e9b9e2.png)

※余談ですが、「jupyterlab」も高性能IDEでおすすめです。




# Pythonが動くか検証！

ここまで順調にいけばあとはJupyterNotebookが動けば問題なし。
先ほどインストールしたJupyterNotebookのLaunchをクリック。
![図9.png](https://qiita-image-store.s3.amazonaws.com/0/165789/7963e7e3-1bec-7cd6-7738-7e8be8512eea.png)

ブラウザが立ち上がって以下のような画面が出てくる。
![図10.png](https://qiita-image-store.s3.amazonaws.com/0/165789/56a3e742-652c-de59-c5e9-2c22e6341c18.png)

「New」から、作業用フォルダを作りたければ作る。
Pythonを動かすNotebookを作る場合は「Python3」を選択。

![図11.png](https://qiita-image-store.s3.amazonaws.com/0/165789/61e0c2bd-a706-1058-6a4c-6c93fd5adc7e.png)

この画面になったら成功。
![図12.png](https://qiita-image-store.s3.amazonaws.com/0/165789/c11b5091-b14a-9bb3-fbca-578acd5fb18e.png)


# プログラムを書いてみよう！

まずは恒例のHello Worldを書いてみよう。
以下をコピペして、shift + Enter

```python:test1
print('Hello, World!')
```

こうなったら成功
![図13.png](https://qiita-image-store.s3.amazonaws.com/0/165789/accab59b-5bee-1038-e639-2e6c5e60904d.png)


# グラフも描けるかやってみよう!
※上記工程のnumpy、 matplotlibがインストールされてないとエラーになりますので注意。

```python:test2

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

x = np.arange(50)
y = np.random.randn(50)

plt.plot(x,y)

```

こんなグラフが描写されれば成功（数値はランダムなので、同じ形にはなりません）
![ダウンロード.png](https://qiita-image-store.s3.amazonaws.com/0/165789/cc8f34dc-dd9c-715e-504c-1a2c06b8af5d.png)


# 裏技

実はローカルに環境構築しなくてもPythonがかけちゃう方法もある。

## Kaggle
https://www.kaggle.com/
[![thumbnail](https://qiita-image-store.s3.amazonaws.com/0/165789/6d910407-1773-ca58-254e-61e9fc4b6cd0.png)](https://www.kaggle.com/)
言わずと知れたデータサイエンスのコンペサイトであるが、利用登録のうえKernelを作成すると、
ブラウザ上でPythonを実行できる。マシンスペックにも影響されないため、
コンペ出たりしなくても、練習としてはかなり使いやすい。

## Colaboratory
https://colab.research.google.com
クラウド上でJupyterNotebookベースのエディタを動かせる優れもの。
GoogleDriveとの連携。
GPUの割り当て。
リアルタイム共有。
ちょっと試したい。勉強会したい。みたいな場合はこれで十分なのではないだろうか？
環境構築も、高性能なPCも不要。
ちなみにcolaboratoryで利用できるGPU Tesla K80は、購入したらだいたい70万～80万です。
Googleすごすぎ。
![図1.png](https://qiita-image-store.s3.amazonaws.com/0/165789/74de5951-8764-5a54-d155-112bc27f1341.png)

![図2.png](https://qiita-image-store.s3.amazonaws.com/0/165789/cd513315-a732-5869-9d0b-79e92fd67425.png)