Python

python関係のお勉強

◆初稿 2018-03-24(Sat) Written by Zepher.

はじめに

Python言語を使った開発環境には、有用な環境が整っているようだ。
特に、注目のデータ分析環境としてはうってつけなわけで。
とりま、手を動かしてみる。

内容

 1.Anacondaのインストール
 2.JupyterNotebookを使ってみる
 3.Numpyを試してみる
 4.Pandasを試してみる
 5.matplotlibを試してみる

1.Anacondaのインストール

https://www.anaconda.com/download/
Anacondaのインストール
Anaconda3 5.1.0(64bit)

2.JupyterNotebookを使ってみる

 JupyterNotebookという環境でpythonを動作させる
 セルと呼ばれる単位にプログラムを記述すると、
 セル単位で実行させることが可能

3.Numpyを試してみる

 Numpyを使うと、行列計算が簡単にできる

numpy.py
# coding: utf-8
# In[2]:
print("Python")
# In[4]:
import numpy as np
# In[5]:
arr = np.array([3,5,8])
arr
# In[7]:
arr = np.array([[3,5,8],[2,4,9]])
arr
# In[8]:
arr.shape
# In[108]:
arr = np.random.rand(2,3)
arr
# In[109]:
arr = np.array([1,2,3])
arr = arr * 5
arr                
# In[110]:
arr1 = np.array([[1,2,3],[2,3,4]])
arr2 = np.array([[3,4,5],[4,5,6]])
arr = arr1 + arr2
arr
実行結果
Python

array([3, 5, 8])

array([[3, 5, 8],
           [2, 4, 9]])

(2, 3)

array([[0.51725257, 0.22628297, 0.04245807],
           [0.66186709, 0.11924214, 0.23291323]])

array([ 5, 10, 15])

array([[ 4,  6,  8],
           [ 6,  8, 10]])

4.Pandasを試してみる

 Pandasを使うと、データベースを簡単に記述できて、
 かつ、CSVとしてエクスポートしたり、逆にインポート
 したりできる

pandas.py
import numpy as np
import pandas as pd
df = pd.DataFrame([["Akira", "Jessi", "Li"],
                  ["Japan", "USA", "China"],
                  [23,25,22],
                  ["1/2","3/8","9/1"]] ).T
df.columns = ["name", "country", "age", "birthday"]
df.index = [1,2,3]
print(df)
df.to_csv("temp.csv")
dft=pd.read_csv('temp2.csv')
print(dft)
実行結果
           name country age birthday
    1     Akira   Japan  23      1/2
    2     Jessi     USA  25      3/8
    3        Li   China  22      9/1

           name country  age birthday
    0     Akira   Japan  23      1/2
    1     Jessi     USA  25      3/8
    2        Li   China  22      9/1

5.matplotlibを試してみる

 matplotlibを使うと、簡単に綺麗なグラフを描ける
 タイトルや軸ラベル、凡例もしっかり表現可能

plot1.py
import matplotlib.pyplot as plt
%matplotlib inline

import math
import numpy as np
x = np.linspace(0,5*math.pi)
y=np.sin(x)
plt.plot(x,y)
plt.show()

output_1_0.png

plot2.py
plt.title('Sin Graph')
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.plot(x,y,label='sin')
plt.legend()
plt.show()

output_2_0.png