python - 无法为形状(129213603,28)和数据类型为int8的数组分配3.37 GiB

标签 python error-handling

如果我在Spyder上运行python代码,则会收到上述错误代码。
我有一些很大的 list ,我将其列出为multiindex
4 list :

customer_list = []
for y in df_1['Sold-to SAP Cust No']:
    if y not in customer_list:
        customer_list.append(y)
        customer_list.sort()


df_c = pd.MultiIndex.from_product([
    customer_list,
    Material_list,
    Week_list,
    base_list],

列表中大约有200-300个条目。

错误代码是否表示列表太大?

最佳答案

问题是您试图分配的内存超过可用内存。

在Linux上,您可以在一定程度上过量使用内存,而在Windows上,您可以管理虚拟内存。

这是上一个关于堆栈溢出的问题的链接,可能有用。 Unable to allocate array with shape and data type

关于内存管理,还有一些非常有趣的文章。我诚实的建议是研究在不将其全部存储到内存的情况下操纵数据的方法。您可以将数据存储在文件中,也可以处理数据库中的数据。这是一篇讨论大型数据集How to handle large datasets的文章。本文针对 Pandas ,但是概念是相同的。

从长远来看,您将受益匪浅,尤其是当您尝试在其他系统上运行该程序或使用更大的数据集时。

关于python - 无法为形状(129213603,28)和数据类型为int8的数组分配3.37 GiB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61819990/

相关文章:

java - android 互联网连接错误失败

python - text.on_change 对 Bokeh TextInput 没有响应

Python email.header.decode_header 对多行标题失败

ruby-on-rails - 未定义的方法 `dangerous_class_method?'

reporting-services - 可以为 SQL Server 2012 报告配置自定义错误处理程序吗?

vba - 编译期间的陷阱语法错误

php - 我如何在cakephp中使用插件主题来显示错误消息?

python - 无法在 django python admin 中创建 super 用户

python - 如何仅读取 JSON 数据框中的特定列?

python - 如何从 tmux session 中获取标准输出和标准错误?