相关疑难解决方法(0)

查看numpy阵列?

我有一个2D numpy数组.有没有办法在其上创建包含第一k行和所有列的视图?

关键是要避免复制基础数据(数组太大,以至于无法制作部分副本.)

python numpy scikits

86
推荐指数
1
解决办法
2万
查看次数

具有numpy数组的Pythonic垃圾收集如何附加和删除?

我正在尝试调整在计时器上更新的绘图代码(matplotlib)的基础结构,从使用绘图数据的Python列表到使用numpy数组.我希望能够尽可能地缩短绘图的时间步长,并且由于数据可能会达到数千个点,如果我不能,我会开始快速失去宝贵的时间.我知道numpy数组对于这类事情是首选,但我无法弄清楚何时需要像Python程序员一样思考,何时需要像C++程序员一样思考,以最大限度地提高内存访问效率.

它在scipy.org文档中说append()函数,它返回附加在一起的数组的副本.所有这些副本都能正确收集垃圾吗?例如:

import numpy as np

a = np.arange(10)
a = np.append(a,10)
print a
Run Code Online (Sandbox Code Playgroud)

这是我对C++级别的内容的阅读,但如果我知道我在说什么,我就不会问这个问题,所以如果我错了请纠正我!= P

首先分配10个整数的块,并且符号a指向该块的开头.然后分配一个包含11个整数的新块,总共使用21个整数(84个字节).然后将a指针移动到11-int块的开头.我的猜测是,这会导致垃圾收集算法将10-int块的引用计数减少到零并解除分配.这是正确的吗?如果没有,我如何确保在追加时不会产生开销?

我也不确定如何在使用它时正确删除numpy数组.我的图上有一个重置按钮,只是刷新所有数据并重新开始.当我有名单时,这是使用完成的del data[:].是否有numpy数组的等效函数?或者我应该只说data = np.array([])并指望垃圾收集器为我做的工作?

python arrays garbage-collection memory-management numpy

5
推荐指数
1
解决办法
5605
查看次数