当前位置: 首页 > 面试题库 >

如何将项目添加到numpy数组

华浩壤
2023-03-14
问题内容

我需要完成以下任务:

从:

a = array([[1,3,4],[1,2,3]...[1,2,1]])

(向每行添加一个元素)到:

a = array([[1,3,4,x],[1,2,3,x]...[1,2,1,x]])

我已经尝试做类似a [n] = array([1,3,4,x])的事情

但是numpy抱怨形状不匹配。我尝试遍历a并将元素x附加到每个项目,但是更改未反映出来。

关于如何实现此目标的任何想法?


问题答案:

对于有python经验的人来说,将数据追加到现有数组是很自然的事情。但是,如果您发现自己定期附加到大型数组,则会很快发现NumPy不能像python那样轻松或有效地做到这一点list。您会发现,每个“追加”操作都需要重新分配阵列内存,并使内存需求短期增加一倍。因此,解决该问题的更一般的方法是尝试将数组分配为与算法的最终输出一样大。然后,对该数组的子集(切片)执行所有操作。理想情况下,应最小化阵列的创建和销毁。

就是说,这通常是不可避免的,执行此操作的功能是:

对于二维数组:

  • np.hstack
  • np.vstack
  • np.column_stack
  • np.row_stack

对于3-D阵列(上面加上):

  • np.d堆栈

对于ND阵列:

  • np.concatenate


 类似资料:
  • 问题内容: 我正在尝试向从创建的数组中添加一列。在这种情况下,它是一个数组:(行,列)。 我想添加第九列。空或零都无所谓。 问题答案: 我认为您的问题是您希望就地添加该列,但是由于存储的numpy数据的原因,它的作用是创建连接数组的副本 所以你需要保存输出: 替代方式: 我相信这三个函数(以及)之间的唯一区别是未指定when的默认行为: 假设 假设除非输入为1d,否则 如果输入为1d,则假定在添加

  • 问题内容: 所以,我想要的是选择一个项目时要运行的另一段代码。但是我的问题是,如何对特定项目实施? 这是我的代码: 我该怎么做才能添加到“车辆”,“自行车/自行车”,“船”,“房屋”,“企业”,“对象”,“工作”,“等级”和“许可证”项中? 问题答案: 如果您希望在选择更改时发生某些事情,则不希望使用MouseListener,而希望使用。它不仅是正确的抽象,而且请记住,不使用鼠标就可以更改选择。

  • 问题内容: Eclipse Helios 3.6 Windows XP SP3 我已经使用Eclipse通过以下方式下载了guava SDK: 1)在Eclipse中,转到 帮助 >安装新软件… 2)在“ 使用: ”文本框中,我使用了以下URL http://svn.codespot.com/a/eclipselabs.org/guava- bundle/trunk/repository/ 3)它

  • 问题内容: 如何将行添加到numpy数组? 我有一个数组A: 如果X中每行的第一个元素满足特定条件,我希望从另一个数组X向该数组添加行。 Numpy数组没有像列表那样的“追加”方法,或者看起来。 如果A和X是列表,我只会这样做: 是否有 numpythonic的 方法可以做到这一点? 谢谢,S ;-) 问题答案: 什么啊 如果它是一个二维数组,你怎么能那么其行比作一个号码:? OP评论后编辑: 从

  • 我使用Jongo查询mongodb。问题是,当我尝试将项添加到数组字段时,会出现这样的错误: HTTP状态500-请求处理失败;嵌套的异常是java。lang.IllegalArgumentException:{$addToSet:{bodyParameters:[{“first”:{“weight”:1.0,“height”:2.0,“腰围”:3.0,“肱二头肌”:4.0,“胸部”:5.0,“前

  • 问题内容: 使用标准的Python数组,我可以执行以下操作: 但是,我不能在numpy中做同样的事情。例如: 我也研究了,但是在空数组上使用时,得到: 那么,如何将新行追加到numpy中的空数组? 问题答案: “启动”所需阵列的方法是: 这是一个空数组,但具有适当的维数。 然后确保沿轴0附加: 但是,@ jonrsharpe是正确的。实际上,如果要循环添加,则像第一个示例中那样将其添加到列表中会更