【问题标题】:Efficient way to assign list elements to numpy array将列表元素分配给numpy数组的有效方法
【发布时间】:2019-04-11 06:15:10
【问题描述】:

我在一个列表中有一些 numpy 数组对象,我想将它们组合成一个 numpy 数组。什么是有效的方法来做到这一点?下面的代码不起作用,因为它将列表放入 numpy 数组中......

import numpy as np


C = [np.array([1,2,3]), np.array([4,5,6]), np.array([7,8,9])]

M = np.zeros((1,3*3))

M[0] = C ## THIS THROWS AN ERROR

【问题讨论】:

  • np.concatenate(C)?
  • np.hstack(C)?
  • 如果您创建了M = np.zeros((1,3,3)),您的作业将有效。该列表的大小为 3,因此复制目标的维度必须为 3,而不是 9。并不是说 concatenate 建议有什么问题。
  • 为什么不M.flat[:] = C

标签: python list numpy


【解决方案1】:

使用以下代码

print(np.append(C,[]))

[1. 2. 3. 4. 5. 6. 7. 8. 9.]

【讨论】:

  • np.appendnp.concatenate 的一个名称不佳的前端。不要使用它。但是请随意查看它的代码。
猜你喜欢
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 2018-07-17
  • 1970-01-01
  • 2019-01-14
  • 2021-12-12
  • 2018-01-24
相关资源
最近更新 更多