web-dev-qa-db-ja.com

python numpy ndarrayの列名を取得する

次のようなdata.txtというデータファイルがあるとします。

TIME FX FY FZ
0    10 5  6
1    2  4  7
2    5  2  6
...

In python run:

import numpy as np

myData = np.genfromtxt("data.txt", names=True)

>>> print myData["TIME"]
[0, 1, 2]

データファイルの先頭の名前はさまざまなので、私がやりたいのは、データファイル内の配列の名前を調べることです。だから私は次のようなものが欲しいです:

>>> print myData.names
[TIME, F0, F1, F2]

データファイルを読み込んで最初の行を取得し、それを別の操作として解析することを考えましたが、それはあまり効率的でもエレガントでもないようです。

44
mcragun

試してください:

myData.dtype.names

これは、フィールド名のタプルを返します。

In [10]: myData.dtype.names
Out[10]: ('TIME', 'FX', 'FY', 'FZ')
47
JoshAdel