python - 如何将numpy对象数组转换为包含每个对象元素的数组?
问题描述
我有一个形状为 (60000,) 的 numpy 对象数组,60000 个元素中的每一个都是一个 (32,32,3) 数组。我的问题是如何将 (60000,) 数组转换为 (32,32,3,60000) 数组。
解决方案
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)
推荐阅读
- python - 重新排序列表以满足条件
- java - Java11嵌套类同时使用流畅的设计结构代码
- javascript - 如何让我的异步函数等待一切?
- javascript - 页面重定向在 Node.JS 中被忽略
- google-bigquery - BigQuery 在加入 FULL JOIN + USING 时删除重复的列名
- python - 尝试使用 pyenv install "python version" 时出现“构建失败”错误
- mysql - 同一个表中多个字段的累积不同计数
- java - 使用依赖注解作为创建 bean 的参数
- regex - 如何在awk中解析和替换GPU日志?
- aws-lambda - 使用 aws lambda 函数更改特定角色策略