相关疑难解决方法(0)

找出Python中对象使用了多少内存

你将如何找出一个对象使用了多少内存?我知道有可能找出代码块使用了多少,但不是实例化对象(在其生命中的任何时间),这就是我想要的.

python performance memory-profiling

195
推荐指数
5
解决办法
13万
查看次数

pandas中的大型持久性DataFrame

我正在探索作为长期SAS用户切换到python和pandas.

但是,今天运行一些测试时,我很惊讶python在尝试pandas.read_csv()128mb csv文件时内存不足.它有大约200,000行和200列主要是数字数据.

使用SAS,我可以将csv文件导入SAS数据集,它可以和我的硬盘一样大.

有类似的东西pandas吗?

我经常处理大型文件,无法访问分布式计算网络.

python sas pandas

88
推荐指数
4
解决办法
6万
查看次数

如何检查iPython中对象的内存使用情况?

我正在使用iPython来运行我的代码.我想知道是否有任何模块或命令可以让我检查一个对象的内存使用情况.例如:

In [1]: a = range(10000)
In [2]: %memusage a
Out[2]: 1MB
Run Code Online (Sandbox Code Playgroud)

类似于%memusage <object>并返回对象使用的内存.

重复

找出Python中对象使用了多少内存

python memory ipython

34
推荐指数
3
解决办法
4万
查看次数

交互式Python:虽然正确导入了line_profiler,但无法使`%lprun`正常工作

问题

大多数IPython的"神奇功能"的工作对我罚款马上蝙蝠: %hist,%time,%prun等.然而,我注意到,%lprun无法IPython中找到,因为我想最初安装它.

尝试解决

然后我发现我应该安装line_profiler模块.我已经安装了这个模块,但似乎仍然无法使魔术功能正常工作.如果我试图打电话%lprun,iPython仍然无法找到该功能.如果我用全名(line_profiler.magic_lprun)调用它,可以找到该函数,但我根本无法使用它.下面是我所做的一个例子(从"Python for Data Analysis"一书中逐步采用):

成功使用 %prun

[在:]

def add_and_sum(x, y):
    added = x + y
    summed = added.sum(axis=1)
    return summed

x = randn(3000, 3000)
y = randn(3000, 3000)

add_and_sum(x, y)
Run Code Online (Sandbox Code Playgroud)

有了这个,我得到了一个很好的答案,正如所料:

[输出:]

array([-23.6223074 , -10.08590736, -31.2957222 , ..., -14.17271747,
    63.84057725, -50.28469621])
Run Code Online (Sandbox Code Playgroud)

我可以做剖析魔术功能%prun:

[在:]

%prun add_and_sum(x, y)
Run Code Online (Sandbox Code Playgroud)

[输出:]

6 function calls in 0.042 seconds

Ordered by: internal time

ncalls  tottime  percall  cumtime …
Run Code Online (Sandbox Code Playgroud)

python profiling magic-function ipython spyder

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

熊猫内存错误

我有一个包含约 50,000 行和 300 列的 csv 文件。执行以下操作会导致 Pandas (python) 中出现内存错误:

merged_df.stack(0).reset_index(1)
Run Code Online (Sandbox Code Playgroud)

数据框如下所示:

GRID_WISE_MW1   Col0    Col1    Col2 .... Col300
7228260         1444    1819    2042
7228261         1444    1819    2042
Run Code Online (Sandbox Code Playgroud)

我正在使用最新的 pandas (0.13.1),并且行数较少 (~2,000) 的数据帧不会出现该错误

谢谢!

python memory pandas

3
推荐指数
1
解决办法
5606
查看次数