Numpy数组 - 追加命名列

时间:2015-10-09 09:20:31

标签: python numpy

Numpy允许我这样做:

>>>data = np.genfromtxt(r'd:/temp/data.txt', delimiter = ',', names = True)
>>>data['Time']
array([ 1.,  2.,  3.])

我如何制作这样的数组?我的意思是写:

data = np.array([])
data.append(name = 'Time', data = [1., 2., 3.])
data['Time']
array([ 1.,  2.,  3.])

2 个答案:

答案 0 :(得分:2)

您正在尝试创建Record Array/Structured Array,可以结帐numpy.core.records.fromrecords -

In [35]: data = np.core.records.fromrecords([[1.], [2.], [3.]],names=['Time'])

In [36]: data
Out[36]:
rec.array([(1.0,), (2.0,), (3.0,)],
      dtype=[('Time', '<f8')])

In [37]: data['Time']
Out[37]: array([ 1.,  2.,  3.])

答案 1 :(得分:0)

喜欢这个吗?

data = numpy.array([(1,), (2,), (3,)], dtype=[('Time', float)])

另请参阅此有用的module来操纵Record Array