Python 如何从列数组重新排列numpy

Python 如何从列数组重新排列numpy,python,arrays,numpy,Python,Arrays,Numpy,我有一对numpy阵列;下面是一个简单的等效示例: t = np.linspace(0,1,100) data = ((t % 0.1) * 50).astype(np.uint16) 我希望这些列是数据类型为f8、i2的numpy重新排列中的列。这是我似乎能得到我想要的东西的唯一方法: X = np.array(zip(t,data),dtype=[('t','f8'),('data','i2')]) 但是如果我的数据值很大,这是正确的方法吗?我想尽量减少不必要的数据转换开销 这似乎应该是

我有一对numpy阵列;下面是一个简单的等效示例:

t = np.linspace(0,1,100)
data = ((t % 0.1) * 50).astype(np.uint16)
我希望这些列是数据类型为f8、i2的numpy重新排列中的列。这是我似乎能得到我想要的东西的唯一方法:

X = np.array(zip(t,data),dtype=[('t','f8'),('data','i2')])
但是如果我的数据值很大,这是正确的方法吗?我想尽量减少不必要的数据转换开销


这似乎应该是一个简单的问题,但我找不到一个好的例子。

一个简单的方法是使用。就你而言:

np.rec.fromarrays([t, data], dtype=[('t','f8'),('data','i2')])
或者干脆

np.rec.fromarrays([t, data], names='t,data', formats='f8,i2')
会有用的

其他方法也在