为了账号安全,请及时绑定邮箱和手机立即绑定

将numpy数组列表转换为单个int numpy数组

将numpy数组列表转换为单个int numpy数组

炎炎设计 2021-04-06 13:06:29
我有一个numpy数组的列表,我想将其转换为单个int numpy数组。例如,如果我4 x 4在一个维度列表中有46个numpy数组2 x 23,我想将其转换为一个单一的整数numpy2 x 23 x 4 x 4维度数组。我通过遍历每个元素并使用来找到一种实现此目的的方法numpy.stack()。有什么更好的办法吗?
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

堆栈对我有用:


In [191]: A,B,C = np.zeros((2,2),int),np.ones((2,2),int),np.arange(4).reshape(2,

     ...: 2)

In [192]: x = [[A,B,C],[C,B,A]]

In [193]: 

In [193]: x

Out[193]: 

[[array([[0, 0],

         [0, 0]]), array([[1, 1],

         [1, 1]]), array([[0, 1],

         [2, 3]])], [array([[0, 1],

         [2, 3]]), array([[1, 1],

         [1, 1]]), array([[0, 0],

         [0, 0]])]]

In [194]: np.stack(x)

Out[194]: 

array([[[[0, 0],

         [0, 0]],


        [[1, 1],

         [1, 1]],


        [[0, 1],

         [2, 3]]],



       [[[0, 1],

         [2, 3]],


        [[1, 1],

         [1, 1]],


        [[0, 0],

         [0, 0]]]])

In [195]: _.shape

Out[195]: (2, 3, 2, 2)

stack视图x作为2个项目的列表,并适用np.asarray于每个项目。


In [198]: np.array(x[0]).shape

Out[198]: (3, 2, 2)

然后添加一个尺寸(1,3,2,2),并在第一个轴上串联。


在这种情况下np.array(x)效果也一样


In [201]: np.array(x).shape

Out[201]: (2, 3, 2, 2)


查看完整回答
反对 回复 2021-04-09
  • 2 回答
  • 0 关注
  • 453 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信