К этому фрейму данных я применяю функцию groupby
Код: Выделить всё
fm = fm.groupby(['Tower_ID' ,'Cell_ID' ,'Alarm ID' ,'Severity' ,'Alarm Type' ,'Alarm Text' ,'Supplementary Info' ,'PERIOD_START_TIME' #,'File_Name' ]
).agg({'Full_Start_Date': 'min'
,'Full_End_Date': 'max'
,'Alarm hold time (sec)': 'sum'
,'End_Date': 'max'
,'Cross_Over': 'max'
,'Cross_Over_diff': 'max'
}
)
numpy.core._Exceptions._ArrayMemoryError: невозможно выделить 11,1 ГиБ для массива с формой (1485993600) и типом данных int64
Вещи, которые я пробовал.
1 — Вместо fm = fm я использовал другую переменную, например бананы = fm.groupby ..... тот же результат
2 - Пробовал менять форматы столбцов на нужный мне тип, категорию, int и т. д. Результат тот же
Что сработало
Перед группировкой я сохраняю кадр данных FM в файл, а затем читаю файл обратно в FM
Код: Выделить всё
fm.to_excel('C:\\home\\fm_data.xlsx')
fm = pd.read_excel('C:\\home\\fm_data.xlsx')
Может ли кто-нибудь понять, почему?
Это очень-очень плохое решение, и я бы хочу понять, в чем может быть проблема.
Благодарю за помощь.
Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-python