Windows сталкивается с MemmoryError, а MacOS — нет.

Введение

Обещаю, это ни в коем случае не реклама. Это исходит из моего личного опыта попыток открыть огромный файл перьев как на Windows, так и на Mac с использованием библиотеки Pandas в Python.

Для справки: Feather — это быстрый и легкий формат двоичных файлов для хранения фреймов данных из Python или R.

И мой Mac Air M2, и HP 14s-fq0072no имеют 8 ГБ ОЗУ и 256 ГБ на SSD. Точные характеристики ноутбука HP можно посмотреть здесь.

Проблема

Несколько месяцев назад, когда я только начал работать ассистентом-исследователем с ролью специалиста по данным для профессора в моем университете, мне пришлось открыть перо-файл относительно большого размера для моего ноутбука HP. Было 3,1 Гб. Как вы, возможно, знаете, файлы перьев нельзя читать по частям в виде файлов CSV или XLSX, поэтому мне пришлось полагаться на свой ноутбук HP с 8 ГБ ОЗУ, чтобы открыть его.

Я запустил следующий код в блокноте Jupyter:

import pandas as pd
parsed_dataset = pd.read_feather("parsed_dataset.feather")

Результат был таким:

Я провел всю ночь, пытаясь исправить это, думая, что это как-то связано с недостаточным объемом памяти на диске (хотя на нем все еще оставалось не менее 5 ГБ).

Через несколько часов я сдался и попросил своего наставника Data Scientist помочь мне. Он открыл его на своем ПК (не знаю, на каком ПК) и преобразовал в CSV-файл, чтобы я мог открывать файл по частям.

Через некоторое время в Stack Overflow я понял, что проблема, с которой я столкнулся, была связана с моей оперативной памятью. Но получить ноутбук с большей оперативной памятью было бы слишком дорого для бедного студента.

Только через несколько месяцев я нашел другое решение проблемы.

Превосходное управление памятью MacOS

Я попробовал запустить те же строки кода на Mac и вуаля!