我正在编写一些应该对一组数据执行FFT的代码。我有一个python列表,我可以轻松创建一个时间列表。当我运行fft(datalist)时,我得到'TypeError:'numpy.ndarray'对象不可调用'错误。我认为(但请纠正我)问题是列表是一个维度,并且通过使用上面的一行代码它们根本没有时间附件。我的问题是,我是否必须输入带有时间和数据点的二维数组?还是我完全错了,不得不重新思考? 谢谢,迈克 编辑 - 忘了添加一些代码。 t =时间。可能是因为数组中的条目数不等于2 ^ n,其中N是整数?
sample_rate=10.00
t=r_[0:191.6:1/sample_rate]
S = fft([mylist])
print S
答案 0 :(得分:0)
Numpy和SciPy fft函数希望将numpy数组作为输入,而不是本机python列表。它们也可以很好地工作,长度不是两个。您可能只需要将列表转换为数组,然后再将其传递给fft。
从上面的示例代码中尝试:
from numpy.fftpack import fft
from numpy import array
""" However you generate your list goes here """
S = fft(array([mylist]))