微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

列出 Numpy 数组并重塑维度问题

如何解决列出 Numpy 数组并重塑维度问题

我有一个附加 2 个 numpy 数组的列表。

mylist=

[array([[5.45,2.97,6.25],[7.27,5.28,4.18]]),array([[4.54,2.06,2.53],[7.2,1.29]])]

我想从此列表中重新创建 numpy 数组,如下所示:

array([[5.45,6.25,4.54,2.53]],4.18,7.2,1.29]])

我尝试了 np.array(mylist).reshape(2,6),但结果不是我的目标。

解决方法

arr = np.array(mylist)
arr

>>> [[[5.45,2.97,6.25],[7.27,5.28,4.18]],[[4.54,2.06,2.53],[7.2,1.29]]]

你需要在重塑前交换第一和第二个轴

brr = arr.transpose([1,2]).reshape(2,-1)
brr

>>> [[5.45,6.25,4.54,4.18,7.2,1.29]]
,
In [145]: alist = [np.array([[5.45,...:         [7.27,4.18]]),...:         np.array([[4.54,...:         [7.2,1.29]])]

In [147]: np.hstack(alist)
Out[147]: 
array([[5.45,1.29]])

这只是一种紧凑的调用方式

In [148]: np.concatenate(alist,axis=1)
Out[148]: 
array([[5.45,1.29]])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。