Когда я объединяю эти три массива в виде панд df, я получаю MemoryError.
Допустим, вы делаете:
import numpy as np
import pandas as pd
big_array_1 = np.array(np.random.random(10**7))
big_array_2 = np.array(np.random.random(10**7))
big_array_3 = np.array(np.random.random(10**7))
На моем компьютере,это занимает около 300 МБ памяти.
Тогда, если я сделаю:
df = pd.DataFrame([big_array_1,big_array_2, big_array_3])
Память взлетает до 9 Гб оперативной памяти.Если вы умножите его в 10 раз (чтобы получить ваши 3 Гб данных вместо моих 300), вы увеличите до 90 Гб, что, вероятно, больше, чем ваш своп с Ram +, что повысит MemoryError
.
Но если вместо этого вы сделаете:
df = pd.DataFrame({"A":big_array_1, "B": big_array_2, "C":big_array_3})
, тогда ваше использование памяти не будет значительно больше, чем у одного из ваших трех массивов.
Я подозреваю, что это ваша проблема ...