从数据fi中使用python进行FFT

2024-06-16 09:01:07 发布

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

我有很多数据文件(数据FFT)有三根柱子

trash | x | f(x)

100, 1, 0.129

100, 2, 0.198

etc.

其中''是分隔符。我试着在f(x)列上做快速傅立叶变换,然后画出光谱与x的关系。我试图在另一个answer之后做这个,但我没法实现。另外,我根本不懂python,我用xmgrace做FFT,但效率不高。在

我做了以下事情(在ipython上)

import numpy as np
import scipy as sy
import scipy.fftpack as syfp

array = np.loadtxt("testfft.dat")

但当我做最后一行时,我得到了这个错误

^{pr2}$

因为我不太了解Python,所以我不知道从这里该怎么做。在

有没有办法根据答案修改脚本来做我需要的?在

谢谢。在


Tags: 数据answerimportfft关系数据文件asnp
1条回答
网友
1楼 · 发布于 2024-06-16 09:01:07

标题与行的分隔符(|)不同。所以我们首先需要跳过标题,然后给出列名称(trash,x,f)。然后使用scipy的fft得到离散变量:

import numpy as np
from scipy.fftpack import fft

df = np.genfromtxt('testfft.dat', skip_header=1, names=['trash','x','f'], delimiter=',')
print(fft(df['f']))
[ 0.327+0.j -0.069+0.j]

您可以在此处找到文档:FFT

相关问题 更多 >