首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >numpy数组形状更改/扩展

numpy数组形状更改/扩展
EN

Stack Overflow用户
提问于 2020-05-20 19:24:52
回答 1查看 87关注 0票数 4

我正在尝试弄清楚如何更改数组,例如:

代码语言:javascript
运行
复制
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
a.shape
(3,3)

进入:

代码语言:javascript
运行
复制
a = np.array([[[1,255,255],[2,255,255],[3,255,255]],
[4,255,255],[5,255,255],[6,255,255]],
[7,255,255],[8,255,255],[9,255,255]]])
a.shape
(3,3,3)

实质上是将单个元素1转换为[1, 255, 255]

我已经尝试过reshape,但是如果没有一个缓慢的for循环,我似乎无法理解这样做的逻辑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 19:31:31

一种解决方案是创建一个所需形状的新数组,使用np.full填充255,然后使用来自a的值填充每个内部列表的索引0值。

代码语言:javascript
运行
复制
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.full((3, 3, 3), 255)
b[:, :, 0] = a

输出为

代码语言:javascript
运行
复制
array([[[  1, 255, 255],
        [  2, 255, 255],
        [  3, 255, 255]],
       [[  4, 255, 255],
        [  5, 255, 255],
        [  6, 255, 255]],
       [[  7, 255, 255],
        [  8, 255, 255],
        [  9, 255, 255]]])
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61911868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档