将numpy数组转换为(不同的)预分配数组

时间:2018-04-02 08:27:14

标签: python numpy

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

1 个答案:

答案 0 :(得分:0)

正如Paul Panzer评论的那样,这可以通过B [...] = A来完成。