加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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给出

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读