[Numpy-discussion] can't take FFT of ndarray
charles reid
charlesreid1 at gmail.com
Fri Mar 6 17:36:10 EST 2009
Hi there -
I've imported some data from a file, and it's in a list called mixfrac. I'd
like to take the Fourier transform of the data, but when I try to take the
FFT of the list, I get this error:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/Users/charles/apriori/read.py in <module>()
----> 1
2
3
4
5
/Library/Python/2.5/site-packages/numpy-1.3.0.dev5825-py2.5-macosx-10.3-i386.egg/numpy/fft/fftpack.pyc
in fft(a, n, axis)
105 """
106
--> 107 return _raw_fft(a, n, axis, fftpack.cffti, fftpack.cfftf,
_fft_cache)
108
109
/Library/Python/2.5/site-packages/numpy-1.3.0.dev5825-py2.5-macosx-10.3-i386.egg/numpy/fft/fftpack.pyc
in _raw_fft(a, n, axis, init_function, work_function, fft_cache)
64 if axis != -1:
65 a = swapaxes(a, axis, -1)
---> 66 r = work_function(a, wsave)
67 if axis != -1:
68 r = swapaxes(r, axis, -1)
TypeError: array cannot be safely cast to required type
so I convert to an array and run fft(mixfracarray).
mixfracarray = array(mixfrac)
fft(mixfracarray)
whereupon I recieve the error
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/Users/charles/apriori/read.py in <module>()
----> 1
2
3
4
5
/Library/Python/2.5/site-packages/numpy-1.3.0.dev5825-py2.5-macosx-10.3-i386.egg/numpy/fft/fftpack.pyc
in fft(a, n, axis)
105 """
106
--> 107 return _raw_fft(a, n, axis, fftpack.cffti, fftpack.cfftf,
_fft_cache)
108
109
/Library/Python/2.5/site-packages/numpy-1.3.0.dev5825-py2.5-macosx-10.3-i386.egg/numpy/fft/fftpack.pyc
in _raw_fft(a, n, axis, init_function, work_function, fft_cache)
64 if axis != -1:
65 a = swapaxes(a, axis, -1)
---> 66 r = work_function(a, wsave)
67 if axis != -1:
68 r = swapaxes(r, axis, -1)
TypeError: array cannot be safely cast to required type
This is strange, because I can run fft(array([0,0,0,1,1,1])), or
fft([0,0,0,1,1,1]), perfectly fine. This is passing an array and a list,
respectively.
type(mixfrac) is list and size(mixfrac) is 100; type(mixfracarray) is
ndarray, and mixfracarray.shape is (100,). I've also tried taking the FFT
of the transpose of mixfracarray, but that doesn't work either.
I'm stumped - why can't I run an FFT on either mixfrac or mixfracarray?
Charles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090306/235fd051/attachment.html>
More information about the NumPy-Discussion
mailing list