【问题标题】:Casting a numpy array into a (different) pre-allocated array将 numpy 数组转换为(不同的)预分配数组
【发布时间】:2018-04-02 08:27:13
【问题描述】:

假设我有一个 dtype int32 的数组 A,我想将它转换为 float64。 执行此操作的标准方法(我知道)是 A.astype('float64')。 但这会为结果分配一个新数组。如果我重复运行此命令(使用相同形状的不同数组),每次使用结果并在不久后丢弃它,那么这些分配的开销可能是不可忽略的。
假设我预先分配了一个数组 B,它具有与 A 相同的形状和 float64 类型。有没有办法将 B 的内存用于转换结果,而不是每次都分配新的内存? ufuncs 和 numpy.dot 对此有一个 'out' 参数,但 astpye 没有。

【问题讨论】:

  • B[...] = A? --
  • 当然可以!不知道为什么我错过了这个......

标签: python numpy


【解决方案1】:

正如 Paul Panzer 所评论的,这可以通过 B[...] = A 简单地完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2017-03-08
    • 1970-01-01
    • 2021-03-10
    • 2016-01-21
    • 2011-11-27
    • 1970-01-01
    相关资源
    最近更新 更多