Я использую Pandas для своего анализа (в настоящее время я использую Jupyter Network). У меня есть два больших набора данных (один - 14 ГБ, а второй - 4 ГБ). Мне нужно объединить эти два набора данных на основе столбца. Я использую следующий код:
df = pd.merge(aa, bb, on='column', how='outer')
Обычно этот код работает. Однако, поскольку мои наборы данных большие, это занимает много времени. Я запускаю свой код 4 часа назад, и он все еще продолжается. ОЗУ моей машины составляет 8 ГБ. Есть ли у вас какие-либо предложения по этому поводу?
Вы можете попробовать использовать 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()