У меня есть 2 файла с 38374732 строками в каждом и размером 3,3 Гб каждый. Я пытаюсь присоединиться к ним в первой колонке. Для этого я решил использовать панд со следующим кодом, извлеченным из Stackoverflow:
import pandas as pd
import sys
a = pd.read_csv(sys.argv[1],sep='\t',encoding="utf-8-sig")
b = pd.read_csv(sys.argv[2],sep='\t',encoding="utf-8-sig")
chunksize = 10 ** 6
for chunk in a(chunksize=chunksize):
merged = chunk.merge(b, on='Bin_ID')
merged.to_csv("output.csv", index=False,sep='\t')
Однако я получаю ошибку памяти (не удивительно). Я посмотрел на код с чанками для панд (что-то вроде этого Как прочитать csv-файл размером 6 ГБ с пандами ), однако как мне реализовать его для двух файлов в цикле, и я не думаю, что Я могу портировать второй файл, так как мне нужно искать столбец во всем втором файле. Есть ли выход для этого?