【Python入門】Pythonで便利なライブラリ(numpy,pandas,matplotlib)をインストール後、pyファイルの中で使えるようにするまで(macOS編)

#なんのために共有するか？
ども！Masaです。
<img src="https://storage.googleapis.com/edd-homepage/IntroductionEdD/img/masa.png" width=30%>
正直、初心者としては「コマンドラインいじるの！？…怖い…」「え、元に戻らなくなったらどうしよう…」みたいな不安があるとおもうんす。

そういう不安をへらすために得た知識・体験したものを共有します！
**疑問が解消されたり、不安が少しでも減ったら
左のいいねボタンをポチッとお願いします！**

#この記事でできるようになること、できないこと
・できること
Pythonで便利なライブラリ(numpy,pandas,matplotlib)をインストール後、pyファイルの中で使えるようにimportしてサンプルコードを動かすことができるようにするところまで。

・できないこと
それぞれのライブラリの詳しい使い方
#どんなライブラリをインストールしておきたいか？
とりま3つのライブラリ！
pandas -> 下2つと連携してデータ分析を支援。read_csvとread_excelが神。
numpy -> 高速に数値計算
matplotlib -> グラフ描画

これらの3つのライブラリをインストールするには**「pip」**を使うととても便利。

#pipとは？
pip（"Pip Installs Packages" または "Pip Installs Python"）とは
Pythonで書かれたパッケージソフトウェアを
インストール・管理するためのパッケージ管理システムである。 

Pythonは標準ライブラリも充実しているのですが、
pipがあればPyPI（Python Package Indexの略、パイピーアイまたはパイパイと読む）で管理されてるサードパーティ製のパッケージを、インストールするのが超絶ラクになる！

（Pypiはこちら　https://pypi.org/)

Python3.4以降では公式ディストリビューションにpipが含まれているので、
もうそこのあなたのPCにはpipがインストールされているはず。
(後で念の為pipがインストールされていることを確認するのでご安心を。)

#ライブラリをインストールしていこう！
今回は、Pythonの2系と3系の切り替えをしてくれる「pyenv」を使っていない状態ですので、コマンドは基本「python3 hogehoge」や「pip3 hogehoge」となりますのでご注意を。

##まずはPythonのバージョン確認

```:terminal
python3 --verion
```
としてPython3がインストールされていることを確認。
もしされていなかったらPython3をインストールしましょう。

##次にpipのバージョン確認

```
python3 --version
```
というコマンドをうったディレクトリで

```terminal
pip3 list
```
とうつと

```
Package    Version
---------- -------
pip        18.0   
setuptools 40.2.0 
wheel      0.31.1 
```
上のようにpipの存在を確認できる。
これでpip3コマンドを使って、
いろいろなライブラリをインストールできる状態になっている。


##1.pandasのインストール
特に順番に意味はないが、まずはpandasからインストール。

```terminal
pip3 install pandas
```
これでインストール完了。

##2.numpyをインストール

```terminal
pip3 install numpy
```
最後にSuccessfully installed numpyなどと表示されていれば完了。

##3.matplotlibをインストール
```terminal
pip3 install matplotlib
```
最後に、Successfully installed matplotlib-2.2.3などと表示されればインストール完了。

##3つのパッケージがインストールできていることを確認するには？

```terminal
pip3 list
```
とうつと

```terminal
Package         Version
--------------- -------
cycler          0.10.0 
kiwisolver      1.0.1  
matplotlib      2.2.3  ←コレ
numpy           1.15.1 ←コレ
pandas          0.23.4 ←コレ
pip             18.0   
pyparsing       2.2.0  
python-dateutil 2.7.3  
pytz            2018.5 
setuptools      40.2.0 
six             1.11.0 
wheel           0.31.1 
```
と出てきてインストールできていることが確認できる。

#各ファイルを.pyファイルで利用してみよう！
Pythonで書かれたファイルは拡張子pyになるが、
そのファイルで先程のライブラリを使うための準備がこう。

```python:py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 

```
import文で
asはimport以降の行で、何度も「pandas」と書きたくないですよね！？
その時のために自分で命名する方法です。
これで、後に`np.~`や`pd.~`と省略して書くことができます。

3行目`import matplotlib.pyplot as plt`
に関しては、
`import matplotlib.pylab`のように記載する方法もあるが、
バグの原因になりやすいためオススメしない。

#panadsの使い方

```python:sample.py
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

cnt = pd.Series([10, 20, 30, 50, 80, 130])
print(cnt)
```
sample.pyのあるディレクトリにおいて

```
python3 sample.py
```
とうつと、実行結果として

```
0     10
1     20
2     30
3     50
4     80
5    130
dtype: int64
```
と出てきてpandasが使えていることがわかる。

pandasの使い方は「*データ分析で頻出のPandas基本操作*」
https://qiita.com/ysdyt/items/9ccca82fc5b504e7913a
あたりを参考にしてください。

#numpyとmatplotlibの使い方
下記の例をまるごとあなたのpyファイルにコピペすると
サンプルのグラフが表示されます。
（初めてグラフが表示されたときは「おおおお！」と感嘆の声をあげてしまったことは秘密です。）

例１：てきとーにグラフ化してみる。

```python:python
import matplotlib.pyplot as plt
import numpy as np

# create data
x = np.linspace(0, 10, 100)
y = x + np.random.randn(100)

# plot
plt.plot(x, y, label="test")

# show graph legend
plt.legend()

# show plot
plt.show()
```
するとこんなグラフが表示されるはず。
![スクリーンショット 2018-09-05 15.36.38.png](https://qiita-image-store.s3.amazonaws.com/0/253032/17185950-f128-c1c5-4693-6924ca3cdc63.png)



例２：sin関数をグラフ化してみる

```python:python
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-3, 3, 0.1)
y = np.sin(x)
plt.plot(x, y)
plt.legend()
plt.show()
```
するとこんなグラフができるはず。
![スクリーンショット 2018-09-05 15.10.26.png](https://qiita-image-store.s3.amazonaws.com/0/253032/6685a9cd-68aa-a0f8-eb52-d8b48e48120a.png)


もう少し正確にグラフを描きたい場合は下記の2サイトあたりを参考にするとよいです。

**１，matplotlib入門**
http://bicycle1885.hatenablog.com/entry/2014/02/14/023734

**２，「早く知っておきたかったmatplotlibの基礎知識、あるいは見た目の調整が捗るArtistの話」を参考にするとよいです。**
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9


#最後に
正直、初心者としては
「コマンドラインいじるの！？…怖い…」「え、壊れたらどうしよう…」
みたいな不安があるとおもうんす。
そういう不安をへらすために得た知識・体験したものを共有しました！

**疑問が解消されたり、不安が少しでも減ったら
左のいいねボタンをポチッとお願いします！**
ではではドロン！
<img src="https://storage.googleapis.com/edd-homepage/IntroductionEdD/img/masa.png" width=30%>
処女作：エロ診断メーカー(共同製作：Kei)
https://ero-shindan.herokuapp.com/

Ed.D~Eros Driven Development~
https://storage.googleapis.com/edd-homepage/IntroductionEdD/index.html


#参考文献
参考にさせていただきありがとうございます！
自分の環境とまったく同じとは言えないですが、
こうすればうまくいくのでは？という仮設を立てるためにはとても役にたちました！

MacでPython3のインストールと基本動作の確認その1
https://qiita.com/snoguchi/items/9b82a301ee27484aa3b1
→ここでPython3 --versionと打てばPython3のバージョン確認ができることを知った。

Pythonのパッケージ（ライブラリ）のバージョンを確認
https://note.nkmk.me/python-package-version/
→ここからpipコマンドではなく、pip3とうてばよいのでは？と仮設が立った

https://qiita.com/xza/items/88264d9ad4c14ff40215
→ここで従来のpandasのインストールコマンドが判明したので、pip3と打ってみる発想を得る。

pip3 install numpy のコマンド
http://hiho-developer.hatenablog.com/entry/20131221/1387564021

matplotlibでのプロットの基本
https://qiita.com/kkaries0328/items/5ef40d9e77308dd0d0a4
→import matplotlib.pyplot as plt の行の調査をするきっかけになった。

pyplot pylab違い (初歩的な質問です)
https://teratail.com/questions/78454
→ここで他のimport行と比較して
import matplotlib.pyplot as pltの1行だけ
「.pyplot」の部分がある気持ち悪さが解消された。

Python データ処理ライブラリ Pandas の導入とそのデータ型
https://qiita.com/xza/items/88264d9ad4c14ff40215
→pandasの使い方はここを参考にした

matplotlibでのプロットの基本
https://qiita.com/kkaries0328/items/5ef40d9e77308dd0d0a4
→ここのコードをコピペして実行したらグラフができて感動した。