【发布时间】:2017-10-28 23:34:03
【问题描述】:
我有很多数据文件(testfft.dat),分为三列
垃圾 | x | f(x)
100, 1, 0.129
100、2、0.198
等等
其中 ',' 是分隔符。我试图在 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")
但是当我执行最后一行时出现此错误
ValueError Traceback (most recent call last)
<ipython-input-5-f42979d3ce2b> in <module>()
----> 1 array = np.loadtxt("testfft.dat")
~/.local/lib/python3.5/site-packages/numpy/lib/npyio.py in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
1022
1023 # Convert each value according to its column and store
-> 1024 items = [conv(val) for (conv, val) in zip(converters, vals)]
1025 # Then pack it according to the dtype's nesting
1026 items = pack_items(items, packing)
~/.local/lib/python3.5/site-packages/numpy/lib/npyio.py in <listcomp>(.0)
1022
1023 # Convert each value according to its column and store
-> 1024 items = [conv(val) for (conv, val) in zip(converters, vals)]
1025 # Then pack it according to the dtype's nesting
1026 items = pack_items(items, packing)
~/.local/lib/python3.5/site-packages/numpy/lib/npyio.py in floatconv(x)
723 if b'0x' in x:
724 return float.fromhex(asstr(x))
--> 725 return float(x)
726
727 typ = dtype.type
ValueError: could not convert string to float: b'10,'
由于我不是很了解 Python,所以我不知道从这里开始做什么。
有没有办法从答案修改脚本来做我需要的?
谢谢。
【问题讨论】:
-
欢迎来到stackoverflow!您引用的答案提供了一个最小、完整且可验证的示例:stackoverflow.com/help/mcve。请编辑您的问题以执行相同的操作。您尝试了哪些特定的代码/数据,当它不适合您时出现了哪些诊断错误?我们想帮助你。帮助我们为您提供帮助。
-
@J_H 感谢您的建议,我已尽我所能编辑了我的问题。