Numpy数组视图

视图(view)是Numpy为了在操作大规模数组时减少内存上的操作而做的一层抽象。它不存在元素拷贝,无须分配新的内存。

一般情况下,它可以很好地减少内存的使用。但是如果处理不当,

  1. 会阻止GC回收不使用的大数组的内存空间
    • 如果想从内存中回收大数组,需要确保该数组没有直接引用和视图引用
  2. 不经意间修改原数组
    • 修改数组时,确保不会间接地修改另一个数组

因此开发的时候如果必要可以显示地使用copy来对数组进行拷贝(不使用视图view)。