pandas Запись to_csv продолжает занимать больше памяти, пока она не падает - PullRequest
0 голосов
/ 26 апреля 2020

ОБНОВЛЕНИЕ: я понял, что каждый новый запуск создавал новую консоль Python, которая вызывала больше потребления памяти. Мне пришлось выключить настройку, которая создает новую консоль для каждого запуска. Эта функция автоматически включается, когда я по какой-то причине обновился до Pycharm Pro. Теперь потребление памяти стабильно.

Мой проект создает CSV-файл с именем 'Pressure_drop', и я хочу создать новый pandas кадр данных, используя код ниже. pressure_drop.csv в этом примере имеет 10150 строк и 12 столбцов. Как видите, я удаляю некоторые столбцы, которые не нужно показывать, а затем создаю фрейм данных, назначая индекс строки и столбца. Наконец, он записывается в новый файл .csv, который более удобен для чтения и который я буду использовать для создания интерактивных диаграмм и т. Д. c.

Проблема в том, что Python занимает больше места в памяти каждый раз, когда код запускается в консоли, и Python завершается сбоем, если код запускается достаточное количество раз. Можете ли вы помочь мне понять, почему это происходит?

Например, Python занимает ~ 100 дополнительных МБ каждый раз, когда выполняется код для набора данных выше.

import pandas as pd

def data_frame_creator(result_array):
    array = results_csv_loader(result_array)
    array = np.delete(array,[3,4,5,6,7],1)
    len = array.shape
    row_count = len[0] +1
    df = pd.DataFrame(data = array, index=[np.arange(1,row_count)], columns=columns.dataframe_columns)
    df.to_csv('Output.csv')

data_frame_creator('pressure_drop.csv')

1 Ответ

0 голосов
/ 26 апреля 2020

Немного сложно понять, что вы пытаетесь сделать, не зная, как выглядят кадры данных и какие столбцы вы хотите. Возможно, вы ищете функцию read_csv? Например:

input_df = pd.read_csv('pressure_drop.csv', use_cols=[1,2,8,9,10,11,12])
...