python - numpy.array() 不将 3D 列表转换为 3D ndarray
问题描述
我正在编写一个程序,我试图将 3D python 列表转换为 3D numpy 数组。
data = [i for i in pickle.load(open("resources/pickle/infyDataset.pickle", "rb"))]
print(data) # First time
data = np.array(data, dtype=(np.ndarray))
print(data) # Second time
nsamples, nx, ny = data.shape
data = data.reshape((nsamples,nx*ny))
第一次,程序输出:
>>> [[[0, 616.95], [1, 617.95] ... [373, 609.95], [374, 611.1]]]
第二次,它输出:
>>> [list([[0, 742.8], [1, 742.05] ... [373, 745.35], [374, 745.3]])]
它应该是一个带有 shape 的 numpy 数组(261, 375, 2)
,但它返回一个带有 shape 的数组(261,)
。我相信问题是由于将数据解释为元素数组<class 'list'>
,而不是<class 'numpy.ndarray'>
.
谢谢您的帮助!
解决方案
推荐阅读
- reactjs - 来自 react-datepicker 的日期对象未保存
- django - 无法在 AWS 中恢复 postgreSQL 转储文件
- python - 使用大查询在 Jupiter Notebook (Python) 中超过 504 截止日期
- c# - 过滤 JArray
- java - 如何解决空指针异常
- postgresql - 您可以更改 plpgsql 函数中的 IN 参数吗?
- apache-nifi - 阿帕奇尼菲|| InvokeHttp 处理器显示错误
- java - java.lang.NoClassDefFoundError:无法初始化类 - Kotlin 对象
- python - 用字典和条件替换行
- java - criteriaBuilder notEqual 函数不会为 manyToOne 类返回空值