加载值以获取傅里叶变换时发生Python内存错误

2024-05-14 09:16:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在加载一个50000kb(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的内存,所以我不能完全确定如何让它使用剩余的可用内存。我想我用的是32位spyder,我要换成64位吗?你知道吗


Tags: 内存importasnppltscipyspspf

热门问题