2013-05-20 15 views
10

プロット(matplotlib)に使用する複数のファイルからデータを読み込みたいとします。NumPyのloadtxt()関数を使用してファイルから1列だけを読み取る

この目的で使用できる関数loadtxt()が見つかりました。しかし、私は各ファイルから1つの列を読み込みたいだけです。

どうすればよいですか?私にとって 次のコマンド作品私は、たとえば、少なくとも2列を読み込む場合:

numpy.loadtxt('myfile.dat', usecols=(2,3)) 

しかし

numpy.loadtxt('myfile.dat', usecols=(3)) 

はエラーをスローしていました。

+0

(例えば、欠損値の取り扱い)あなたにも使用することができますnumpyのの[genfromtxt](http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt。 html) – Sicco

答えて

15

(3,)がタプルであることをPythonに伝えるには、3の後にカンマが必要です。 Pythonは(3)をint 3と同じ値に解釈し、loadtxtusecolsのシーケンス型の引数を必要とします。より高度なテキストの読み込みについては

numpy.loadtxt('myfile.dat', usecols=(3,)) 
+0

ああ、それを考えなかった。私がNumPyを使用したのは初めてです。ありがとう! –

+6

カンマを使用しない場合は、 'usecols = [3]'を使用します。 – askewchan

関連する問題