Pandas_Merge два больших набора данных

1

Я использую Pandas для своего анализа (в настоящее время я использую Jupyter Network). У меня есть два больших набора данных (один - 14 ГБ, а второй - 4 ГБ). Мне нужно объединить эти два набора данных на основе столбца. Я использую следующий код:

 df = pd.merge(aa, bb, on='column', how='outer')

Обычно этот код работает. Однако, поскольку мои наборы данных большие, это занимает много времени. Я запускаю свой код 4 часа назад, и он все еще продолжается. ОЗУ моей машины составляет 8 ГБ. Есть ли у вас какие-либо предложения по этому поводу?

Теги:
pandas
python-3.x

1 ответ

2

Вы можете попробовать использовать dask.dataframe для распараллеливания своей задачи:

import dask.dataframe as dd

# define lazy readers
aa = dd.read_csv('file1.csv')
bb = dd.read_csv('file2.csv')

# define merging logic
dd_merged = aa.merge(bb, on='column', how='outer')

# apply merge and convert to dataframe
df = dd_merged.compute()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню