У меня есть большой фрейм данных, из которого через цикл берутся подмножества, и на этих данных выполняется некоторый анализ. Я мог бы просто продублировать блокнот jupyter и просто запустить алгоритм с другой части данных, а затем записать результаты, то есть через csv локально. После этого я бы снова объединил свои результаты.
Это работает? или все ядра, когда я открываю новый ноутбук, работают только с одним процессором? Я использую сервер, поэтому при необходимости могу использовать до 16 ядер.
Я пытался погуглить, но большинство вопросов требует запуска записной книжки jupyter, где есть доступ и запись в тот же набор данных, что мне не обязательно нужно с вышеупомянутым обходным путем.
изменить: возможно, перефразируя вопрос: каждый открытый ноутбук / ядро jupyter использует отдельный процессор?
спасибо, evamicur: только что взглянул на это; у меня достаточно оперативной памяти, чтобы использовать все данные, так что это не проблема; мне просто нужно ускорить весь процесс без изменения фактического (просто потому, что я не могу); поэтому мой вопрос указывал скорее на быстрое и грязное исправление
если вы разместите фактический код анализа, мы сможем его ускорить
спасибо evamicur: просто не знаю, как «преобразовать» код в MWE ... знаете ли вы, о моем вопросе выше?
если вы хотите, чтобы он работал на многих ядрах, я думаю, что dask - самый простой способ сделать это tbh. В зависимости от вашей проблемы вы можете выполнять многопроцессорную обработку и анализировать несколько процессов.
Я не уверен, что это подходящая платформа для публикации всего кода (он очень длинный), но мы очень ценим ваше руководство.






вам следует заглянуть в dask.dataframe: dask.pydata.org/en/latest/dataframe.html