首页 > 解决方案 > 如何将numpy对象数组转换为包含每个对象元素的数组?

问题描述

我有一个形状为 (60000,) 的 numpy 对象数组,60000 个元素中的每一个都是一个 (32,32,3) 数组。我的问题是如何将 (60000,) 数组转换为 (32,32,3,60000) 数组。

标签: pythonnumpy

解决方案


import numpy as np

class Obj():
    def __init__(self,i):
        self.i = i

l = np.array([np.array([Obj(i) for i in range(64*3)]).reshape(8,8,3)
 for _ in range(100)])

print(l.shape)
#Output: (100, 8, 8, 3)

print(np.transpose(l,(1,2,3,0)).shape)
#Output: (8, 8, 3, 100)


推荐阅读