PPP3: 機械学習 Numpyとか
いろんなライブラリの名前を聞くことは聞くんだけど区別がついてない
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.array([7, 8, 9])
print(x)
print(y)
これもJupyter Notebookに入れてくんだよな?
どんどん下に伸ばしてけばいいのか?
[[1 2 3]
[4 5 6]]
[7 8 9]
それでいいみたい
print(x.shape)
print(y.shape)
---
(2, 3)
(3,)
さっきのx
とy
を覚えてるってことだよな
しかし毎回上から全部実行してるわけじゃない気がする
中でどう動いてるか理解できてないからなんか気味悪い
a = np.array([7, 8, 9])
a + 1
---
array([ 8, 9, 10])
全要素に1がたされている
ブロードキャスティングという
8とか9の前のスペースは桁を揃えてるんだな
python x = np.array([[1, 2, 3], [4, 5, 600]]) print(x) --- [[ 1 2 3] [ 4 5 600]]
なるほど
行列使うならこうなってほしいよな
NumPy完全に理解した(嘘
次pandas
import pandas as pd
d = {'employee_id': [101, 102, 103, 104], 'name': ["Tom", "Brian", "Lisa", "Roy"]}
df = pd.DataFrame(d)
df
おお、きれいな表が表示された
これはJupyter Notebookがやってくれてるのかな
$ python
>>> import pandas as pd
>>> d = {'employee_id': [101, 102, 103, 104], 'name': ["Tom", "Brian", "Lisa", "Roy"]}
>>> df = pd.DataFrame(d)
>>> df
employee_id name
0 101 Tom
1 102 Brian
2 103 Lisa
3 104 Roy
そうだな
Jupyterは何を見てこれはtableにしてやろうって思うのか
DateFrame
っていう型を知ってる?
これがデータフレームで、2次元のテーブル
1次元の配列はシリーズ
データフレームからシリーズを取り出す
df.name
---
0 Tom
1 Brian
2 Lisa
3 Roy
Name: name, dtype: object
あっさり地味な表示に戻ったな
df.to_csv('employees.csv')
できたかな
$ cat employees.csv
,employee_id,name
0,101,Tom
1,102,Brian
2,103,Lisa
3,104,Roy
できた
読む
df1 = pd.read_csv('employees.csv')
df1
読めた
こうやってJupyterにちょこちょこ入れてると、分析やってるときの雰囲気も
ちょっと見えてくる
なんにも分析してないけど
そういうのって試行錯誤の連続だから記録を取ってないとすぐ
あれ?どうやったらこの結果になったんだっけ?
なんでこういう計算したんだっけ?
ってなってしまう風景がありありと目に浮かぶ
Jupyterだったらコードと結果とあと考えたことはテキストにしていけば全部残るし
ありがたみありそう