PyCharm 的控制台因“大”对象而挂起

问题描述 投票:0回答:4

我正在使用 PyCharm,通常在其 Python 控制台中运行部分脚本以进行调试。但是,当我必须在“大”变量(消耗大量内存)上运行某些内容时,控制台变得非常慢。

df
是一个巨大的
pandas
数据框,只要我在控制台中输入
df.
,它就不会再有10-15秒的反应。我无法判断这是否是 pandas 特有的,因为我使用的唯一“大”变量来自 pandas。

我正在 Mac OS X 10.9.4(具有 8 GB 内存)上运行社区版 3.4.1、pandas 0.14、Python 2.7.3。

df
的尺寸:

In[94]: df.values.nbytes + df.index.nbytes + df.columns.nbytes
Out[94]: 2229198184
python pandas pycharm
4个回答
0
投票

我也遇到了同样的问题,但尚未找到合适的解决方案,但这是我一直在使用的解决方法,来自 PyCharm 在带有大数据的 iPython 控制台中挂了很长时间

不要输入

df.columns
,而是输入
d.columns
,然后返回并添加
f
。这至少可以防止挂起,尽管它使自动完成有点无用。


0
投票

您是否尝试过将“可变加载策略”更改为“按需”?


0
投票

我也面临这个问题很久了。我总是停用“显示变量”选项并运行代码。每次我这样做都会提高速度。

然后当你想查看变量时再次启用它。


0
投票

处理大型 pandas DataFrame 时,您在 PyCharm 的 Python 控制台中遇到的速度变慢可能是由于控制台尝试显示整个 DataFrame,这可能会占用大量内存。控制台旨在显示有关您正在使用的对象的信息,对于 DataFrame 等大型对象,这可能会导致性能问题。

以下是解决此问题的一些建议:

使用 Head() 或 Tail():不要键入整个变量名称,而是尝试使用 df.head() 或 df.tail() 仅显示 DataFrame 的前几行或最后几行。这样,您就可以检查 DataFrame 的结构,而不会用大量数据淹没控制台。

Python

df.head()

分步探索数据:将您的探索分解为多个步骤。例如,您可以先检查列名、数据类型和基本信息。然后,如果需要,您可以继续探索数据的特定列或子集。

Python

# Check column names
df.columns

# Display basic information about the DataFrame
df.info()

# Explore specific columns
df['column_name'].head()

使用专用环境:考虑使用 Jupyter Notebooks 或专用交互式环境来探索大型数据集。 Jupyter Notebooks 允许您以更灵活的方式与数据交互,并且您可以可视化部分数据,而不会压垮系统。

升级 PyCharm 和 Python:确保您使用的是最新版本的 PyCharm 并考虑升级您的 Python 版本。新版本可能具有性能改进和错误修复,可以增强您的体验。

增加控制台内存:在 PyCharm 中,您可以调整 Python 控制台的最大堆大小。前往

首选项(或设置)-> 构建、执行、部署-> 控制台 -> 增加最大堆大小 (Mb)。

© www.soinside.com 2019 - 2024. All rights reserved.