我正在加载一个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位?