python - 我想将 2D numpy 数组转换为 3D 数组,但有一个问题
问题描述
我将使用形状为 (4,4) 的简单二维数组作为示例:
array([[0, 2, 6, 3],
[3, 7, 3, 9],
[0, 8, 3, 4],
[4, 6, 2, 1]])
我想将其转换为 3D 数组,以便沿 z 轴复制值,如下所示:
使生成的数组具有形状 (4,4,3)
这看起来很简单,但我似乎想不出任何办法来做到这一点。
编辑:我np.tile
从下面的答案中尝试过,但是我希望输出是这样的:
array([[[0, 0, 0],
[2, 2, 2],
[6, 6, 6],
[3, 3, 3]],
[[3, 3, 3],
[7, 7, 7],
[3, 3, 3],
[9, 9, 9]],
[[0, 0, 0],
[8, 8, 8],
[3, 3, 3],
[4, 4, 4]],
[[4, 4, 4],
[6, 6, 6],
[2, 2, 2],
[1, 1, 1]]])
我尝试更改复制和重塑的轴,尽管它不起作用。
解决方案
你可以用numpy.tile
这个
>>> import numpy as np
>>> data = np.array([[0, 2, 6, 3],
[3, 7, 3, 9],
[0, 8, 3, 4],
[4, 6, 2, 1]])
>>> np.tile(data, (3,1,1))
array([[[0, 2, 6, 3],
[3, 7, 3, 9],
[0, 8, 3, 4],
[4, 6, 2, 1]],
[[0, 2, 6, 3],
[3, 7, 3, 9],
[0, 8, 3, 4],
[4, 6, 2, 1]],
[[0, 2, 6, 3],
[3, 7, 3, 9],
[0, 8, 3, 4],
[4, 6, 2, 1]]])
推荐阅读
- reactjs - 在前端测试授权的 API 调用
- java - 您如何将自定义比较器用于优先级队列?
- heroku - 有没有办法查看我项目的 Heroku 文件系统中的文件?
- c++ - 根据法线方向提取点云
- java - 为我的 Deque 引用数组索引时,我不断收到 NullPointerException
- google-sheets - 谷歌表格中的“忽略”暗/亮模式
- hough-transform - Houghlines 无法找到清晰可见的单线
- python - 如果 linux 中的活动窗口发生变化,则执行 python 代码
- go - 从子文件夹导入函数
- python - 如何在 python 中有效地存储、检查包含和检索大量浮点数?