這wrorks
rec = np.rec.fromarrays((t, data), dtype=[('t','f8'),('data','i2')])
,如果你不喜歡,你總是可以走這條路
arr = np.hstack((t[:, None], data[:, None])).astype(np.dtype([('t', 'f8'), ('data', 'i2')]))
編輯:
爲了更加徹底的緣故,我加另一種方法有一些時間。
def method_1(t, data):
return np.rec.fromarrays((t, data), dtype=[('t','f8'),('data','i2')])
def method_2(t, data):
return np.r_[t, data].reshape((-1, 2)).astype(np.dtype([('t', 'f8'), ('data', 'i2')]))
def method_3(t, data):
return np.hstack((t[:,None], data[:, None])).astype(np.dtype([('t', 'f8'), ('data', 'i2')]))
def method_4(t, data):
return np.array(zip(t,data),dtype=[('t','f8'),('data','i2')])
%timeit method_1(t, data)
10000 loops, best of 3: 20.8 us per loop
%timeit method_2(t, data)
10000 loops, best of 3: 28.9 us per loop
%timeit method_3(t, data)
100000 loops, best of 3: 16.6 us per loop
%timeit method_4(t, data)
10000 loops, best of 3: 56.9 us per loop