サイエンティストとマーケターのはざま

Pythonとか広告とかデータ分析とかとか


numpyでデータを取り込み、matplotlibで散布図に描画する

配列の扱いがあまり得意でなかったため、pandasばかり使ってnumpyを敬遠していました。

残念ながら仕事で触れる機会が頻繁にありそうなので、このタイミングでおさえていきたいと思います。

今回は簡単に、データを取り込みscatterにプロットしたいと思います。

 

ライブラリのインポート

$ import numpy as np

$ import matplotlib as plt 

 ファイルの読み込み

$ data = np.loadtxt('score.txt', skiprows=1) 

$ data

array([[ 2.,  3.,  4.,  3.,  3.,  4.,  3.,  2.,  3.,  2.],
       [ 5.,  4.,  3.,  3.,  3.,  2.,  4.,  3.,  4.,  5.],
       [ 3.,  3.,  3.,  4.,  3.,  4.,  3.,  4.,  4.,  3.],
       [ 5.,  5.,  3.,  3.,  3.,  3.,  4.,  4.,  4.,  5.],
       [ 4.,  3.,  4.,  5.,  4.,  3.,  3.,  3.,  4.,  3.],

...

データをスライスして、先頭行と3列目以降を除外。

$ data = data[1:,0:2]

$ data

array([[ 5.,  4.],
       [ 3.,  3.],
       [ 5.,  5.],
       [ 4.,  3.],
       [ 3.,  3.],

1行目をx軸に、2行目をy軸にプロット。

$x=data[:,0]
$y=data[:,1]
$plt.scatter(x,y)
$plt.show()

f:id:ukichang:20150908020710p:plain

 途中、object型からint型への変換の仕方がよくわからんかった。