csvから行列作成
Rだと、read.table関数で一発でデータをデータフレームに変更してくれる。
pythonで似たようなことができないかなーと思い書いてみた。
#! usr/bin/python # -*- coding:utf-8 -*- import numpy as np import scipy as sp import csv filename = "./input/input.csv" inputCSV = csv.reader(open(filename,"rb")) a = sp.array([map(str,row) for row in inputCSV])[1:,1:] A = np.mat([map(float,row) for row in a]) print A
インプットしたデータはこちら。
,x1,x2 d1,2,0 d2,0,1
行列Aの出力結果はこちら。
[[ 2. 0.] [ 0. 1.]]
ヘッダと行名が取れている。逆行列を計算してみたが計算できていた。