python - 使用 Pandas 内置除法时出现内存错误,但循环有效?

标签 python performance pandas memory

我有两个 DataFrame,每个都有 100,000 行。我正在尝试执行以下操作:

new = dataframeA['mykey']/dataframeB['mykey']

我收到“内存不足”错误。如果我尝试,我会得到同样的错误:

new = dataframeA['mykey'].divide(dataframeB['mykey'])

但是如果我像这样循环遍历每个元素,它就会起作用:

result = []
for idx in range(0,dataframeA.shape[0]):
    result.append(dataframeA.ix[idx,'mykey']/dataframeB.ix[idx,'mykey'])

这是怎么回事?我认为内置 Pandas 函数的内存效率会更高。

最佳答案

@ayhan 马上就搞定了。

我的两个数据框没有使用相同的索引。重置它们有效。

关于python - 使用 Pandas 内置除法时出现内存错误,但循环有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38578662/

相关文章:

python - 使用 Python,如何关闭网络上另一个用户正在使用的文件?

python - redis-py 的 zcount 语法

ios - 使用应用程序测试数据库的下载速度和最大下载速度

python - 如何修复读取 Excel 文件时在最左侧添加的空白列?

网格中的 Python 颜色代码值并导出为 jpg

python - Visual Studio 2019 - 无法运行 Python 单元测试 - 无法导入测试模块 :

c - 以下两种情况在性能上有什么区别吗?

c++ - 基于单元框架的算法性能测试的可靠性

python - 我想基于上一列添加一个新的 DataFrame 列,以便如果上一列元素与列表值匹配,则更改该值

Python: Pandas 数据框在每行中分割字符串,偶尔有空行