У меня есть набор данных, который содержит только один столбец (серия Панд).Набор данных представляет собой файл .dat, который содержит около 2 000 000 строк и 1 столбец (166 МБ).Чтение этих данных с помощью pd.read_csv занимает около 7-8 минут.Эти данные являются сигналом, который необходимо обработать (используя scipy.signal
).Поэтому, когда я обрабатываю данные, я получаю MemoryError.Есть ли способ ускорить загрузку файла и увеличить скорость его обработки (scipy.signal.ellip
) и обойти проблему с памятью?Заранее спасибо.Загрузка данных:
data = pd.read_csv('C:/Users/HP/Desktop/Python and programming/Jupyter/Filter/3200_Hz.dat',
sep='\r\n', header=None, squeeze=True)
Обработка данных (тоже занимает около 7 минут):
b, a = signal.ellip(4, 5, 40, Wn, 'bandpass', analog=False)
output = signal.filtfilt(b, a, data)
#after that plotting 'output' with plt
Пример ввода данных:
6954
25903
42882
17820
3485
-11456
4574
34594
25520
26533
9331
-22503
14950
30973
23398
41474
-860
-8528