Я пытаюсь объединить пару информационных фреймов из HomeCredit Kaggle в соответствии со схемой данных .Я сделал следующее:
train = pd.read_csv('~/Documents/HomeCredit/application_train.csv')
bureau = pd.read_csv('~/Documents/HomeCredit/bureau.csv')
bureau_balance = pd.read_csv('~/Documents/HomeCredit/bureau_balance.csv')
train = train.merge(bureau,how='outer',left_on=['SK_ID_CURR'],right_on=['SK_ID_CURR'])
train = train.merge(bureau_balance,how='inner',left_on=['SK_ID_BUREAU'],right_on=['SK_ID_BUREAU'])
, который завершается ошибкой при
MemoryError
для второго слияния.Фрейм данных поезда имеет форму (308k, 122), бюро (1.72M, 12) и bureau_balance (27.3M, 3).Насколько я понимаю, приложение из поезда df не обязательно должно иметь запись в таблице burea, но все строки в этой таблице должны иметь запись в bureau_balance.
Я запускаю код в своем локальном экземплярес 16 ГБ ОЗУ.
Есть ли способ, как справиться с проблемой памяти с таким большим набором данных?
Заранее спасибо.