2017-12-14 6 views
0

ローのメジャーなテキストデータファイルをnumpyでロードするにはどうすればいいですか?numpyでテキストファイルからローのメジャーデータをロードするには

loadtxt(..)関数は、カラムメジャーをロードします。つまり、データは最初のローの名前の下のローにあります。名前が第1カラムのデータとそれ以降のデータのデータをロードするにはどうすればよいですか?主要な

行:

field 1: d1, d2, d3, ... 
field 2: d1, d2, d3, ... 
field n: ... 
+0

カラムメジャーをロードした後にトランスポーズするだけであれば、それはどうですか? – Dark

+0

これは、すべての '---'と '|'文字のデータの実際の例ですか? – kazemakase

+0

@Darkこれは理論上は機能しますが、残念ながら 'loadtxt(...) 'やnumpyで見つけることができる他のローダーではサポートされていません。 – James

答えて

0

パラメータunpack=Trueはこれを行います。

Trueの場合、返された配列は転置され、x、y、z = loadtxt(...)を使用して引数がアンパックされる可能性があります。構造化データ型とともに使用すると、各フィールドに対して配列が返されます。デフォルトはFalseです。

転置が必要な場合は、実際に解凍する必要はありません。 arr = np.loadtxt(file, unpack=False)リターン1つの転置配列、

例:unpack=True

>>> file = StringIO("0 1 2\n3 4 5") 
>>> np.loadtxt(file, unpack=True) 
array([[ 0., 3.], 
     [ 1., 4.], 
     [ 2., 5.]]) 

と比較すると、デフォルトの動作

>>> from io import StringIO 
>>> file = StringIO("0 1 2\n3 4 5") 
>>> np.loadtxt(file) 
array([[ 0., 1., 2.], 
     [ 3., 4., 5.]]) 

はまた、それはあなたのユースケースは、より良いpandas.read_csvによって提供されることも可能だし、データをDataFrameとして扱うことができます。

関連する問題