首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将一维numpy数组改为3d numpy数组(python)

将一维numpy数组改为3d numpy数组(python)
EN

Stack Overflow用户
提问于 2019-07-17 12:04:27
回答 2查看 362关注 0票数 0

我有一个带有二进制元素的numpy形状数组(271 )。

例如:

代码语言:javascript
运行
复制
arr = array([0., 0., 0., 1., 1., 1., 0., 0., 1., .........])

如何将其转换为形状为271*80*1的三维数组以形成new_3d_arr

所以我的new_3d_arr[0]80 rows with 0's* 1 column形状的

我希望有一个简单的方法来实现这一点。

我在下面的代码中尝试了&我可以得到所需的结果,但是我希望有一个简单的方法来实现这个

代码语言:javascript
运行
复制
new_3d_arr = []
for i in arr:
  arr_2d = array([i]*80).reshape((-1,1))
  new_3d_arr.append(arr_2d)
  
new_3d_arr = array(new_3d_arr)

EN

Stack Overflow用户

发布于 2019-07-17 13:12:32

我不确定我是否正确地理解了你的问题。根据我从您的numpy数组中了解到的形状(271),您需要一个具有形状(271,80,1)的三维numpy数组,以便其他条目为0。

也许有更有效的解决方案,但下面是我想出的:

首先创建一个只包含零的新的numpy数组:new_3d_arr = np.zeros((271,80,1))

然后,对于长度为80的271个向量中的每一个,我们将第一个条目更改为具有二进制条目的条目。

代码语言:javascript
运行
复制
for i in range(len(arr)):
      new_3d_arr[i][0][0] = arr[i]
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57075400

复制
相关文章

相似问题

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