когда вы пытаетесь преобразовать столбец в список или установить с помощью обычного list/set
, Python загрузит его в память, поэтому у вас возникает проблема с ограничением памяти.
Я считаю, что с помощью dask.bag
вы можете решить эту проблему, поскольку dask.bag
будет лениво загружать ваши данные, хотя я не уверен, что df[column]
не нужно будет сначала читать. Кроме того, имейте в виду, что превращение этого столбца в сумку займет некоторое время в зависимости от размера данных.
Использование dask.bag
позволяет вам запускать карту, фильтровать и агрегировать, поэтому кажется, что это может быть хорошим решением вашей проблемы.
Вы можете попробовать запустить это, чтобы увидеть, фильтрует ли он список/сумку, как вы ожидаете.
import dask.bag as db
bag = db.from_sequence(df[column], npartitions=5)
bag.filter(lamdba list_element: list_element == "filtered row")
Поскольку это всего лишь пример, вам нужно будет изменить npartitions
и лямбда-выражение в соответствии с вашими потребностями.
Позвольте мне знать, если это помогает
person
FabioRosado
schedule
01.01.2021