Python - 加载值以获得傅立叶变换时的内存错误

时间:2014-06-25 11:11:11

标签: python

我正在加载一个500000 kb(0.5Gb)的单列文本文件,其中包含一系列通过daq卡读入的电压。

import numpy as np
import matplotlib.pyplot as plt
import scipy as sp
import scipy.fftpack as spf

File = np.loadtxt('testinghpython.txt')

volt = File[:]

FFTX = abs(sp.fft(volt))
freqx = spf.fftfreq(len(volt),dt)

plt.figure(2)
plt.grid()
plt.title('Fast fourier Transform of Voltage')
plt.xlabel('Frequency')
plt.ylabel('Amplitude')
plt.plot(freqx,10*np.log10(FFTX))
plt.clf

plt.show()

但是我收到了错误

    X.append(items)
MemoryError

我认为这是因为它是一个大型数据集。

无论如何都要继续计算傅里叶变换而不将它们全部读入内存?或者这是否需要我将整个文本文件读入内存?这台电脑有大约8GB的RAM,所以我不完全确定如何使用剩余的可用内存。我想我正处于32位spyder,我是否必须切换到64位?

0 个答案:

没有答案