私はPythonに変換しています。IDLのnumpy(Matlabのようなもの)です。これはちょっとしたデータ処理に関する疑問です。たぶん誰かが助けることができます。最高のデータ構造:辞書の配列、オブジェクトの配列?
私のデータの通常の状況は、私はおそらくスプレッドシート、データベースなどから固定データクラスを持っているということです。私は、どのような種類のデータ構造がPythonとNumpyで使用するのが最善かを理解しようとしています。
私はcsvモジュールについて知っていて、csv.DictReader()を使ってスプレッドシートを読むことができます。これは行ごとに読み込まれ、スプレッドシートのヘッダー(最初の行)から適切な名前の辞書になります。
f=open(file,'rU')
dat = csv.DictReader(f)
i=0
data=[] # makes an empty list
i=0
for row in dat:
data.append(row)
if i == 0 :
keys=row.keys()
print "keys"
print keys
print
i=i+1
f.close()
まず第一に、それはちょっと辞書やキーのキーのリストにcsvファイルを読み込むためのコードがたくさんあります。より速く/より良い方法がありますか?
今、私は辞書の配列が本当に私が望むものかどうか疑問に思います。私はオブジェクトのクラスを作成し、これをオブジェクトの配列にする必要がありますか?または、他の何か?
私は辞書、「データ」の私の配列を持っている場合、私は 年齢のようないくつかの「列」を得るでしょう=配列([データ内のdatのためのdat [「年齢」]])
がその権利ですそれを行う方法?より速く行う「年齢=データ→年齢」のような方法はありませんか?
ガイダンスに感謝します。ありがとう。
data = list(csv.DictReader(open(file, 'rU')))
print "keys", data[0].keys()
辞書のリストではなく、辞書のリストがあります。普通の配列や再配列が必要なようです。 numpy.loadtxtまたはcsv.readerを見てください。 –