python – 如何从列数组中进行numpy重组
发布时间:2020-12-20 11:33:46 所属栏目:Python 来源:网络整理
导读:我有一对numpy数组;这是一个简单的等效示例: t = np.linspace(0,1,100)data = ((t % 0.1) * 50).astype(np.uint16) 我希望这些是dtype f8,i2的numpy recarray中的列.这是我能够得到我想要的唯一方式: X = np.array(zip(t,data),dtype=[('t','f8'),('data',
我有一对numpy数组;这是一个简单的等效示例:
t = np.linspace(0,1,100) data = ((t % 0.1) * 50).astype(np.uint16) 我希望这些是dtype f8,i2的numpy recarray中的列.这是我能够得到我想要的唯一方式: X = np.array(zip(t,data),dtype=[('t','f8'),('data','i2')]) 但如果我的数据值很大,这是正确的方法吗?我想尽量减少转移数据的不必要开销. 这似乎应该是一个简单的问题,但我找不到一个好的例子. 解决方法
直接的方法是使用
numpy.rec.fromarrays .在您的情况下:
np.rec.fromarrays([t,data],'i2')]) 或者干脆 np.rec.fromarrays([t,names='t,data',formats='f8,i2') 会工作. 另外的方法也在Converting a 2D numpy array to a structured array给出 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |