化学信号找到_peaks数组维数

2024-05-19 14:13:25 发布

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

我在查看几百个数据文件,寻找信号的峰值。我有一个numpy数组中的数据,并试图使用scipy中的find_peaks方法。不管怎样,我都会得到:

ValueError: x must have exactly one dimension

代码如下:

#Load electron signal data from file
data = np.loadtxt("C3tsss00001.txt", delimiter=" ", skiprows=5, dtype=float)

time, volts = np.hsplit(data, 2)

voltssmth = savgol_filter(volts, 5, 2, mode='nearest')

print(volts)
print(voltssmth)

#Invert negative detected signals into positive ones
volts = volts * -1
voltssmth = voltssmth * -1


#find peak due to detected electrons
peaks, _ =find_peaks(volts, height = .005)

这是完整的错误回溯 回溯(最近一次呼叫):

^{pr2}$

值错误:x必须正好有一个维度

以下是给出问题的一小部分数据:

LECROYWP725Zi 0 Waveform
Segments 1 SegmentSize 10002
Segment TrigTime TimeSinceSegment1
#1 22-Mar-2019 18:12:19 0                 
Time Ampl
-5.4942647e-011 0.000339844
4.5057353e-011 0.000337891
1.4505735e-010 0.000330078
2.4505735e-010 0.000310547
3.4505735e-010 0.000289062
4.4505735e-010 0.000285156
5.4505735e-010 0.000210938
6.4505735e-010 0.000166016
7.4505735e-010 0.000115234
8.4505735e-010 0.000113281
9.4505735e-010 0.000111328
1.0450574e-009 9.57031e-005
1.1450574e-009 6.83594e-005
1.2450574e-009 3.90625e-005
1.3450574e-009 4.49219e-005
1.4450574e-009 3.125e-005
1.5450574e-009 -2.34375e-005
1.6450574e-009 -5.66406e-005
1.7450574e-009 -0.000101563
1.8450574e-009 -0.000103516
1.9450574e-009 -9.375e-005
2.0450574e-009 -0.000111328
2.1450574e-009 -8.98437e-005
2.2450574e-009 -0.000121094
2.3450574e-009 -0.000130859
2.4450574e-009 -0.000119141
2.5450574e-009 -0.000136719
2.6450574e-009 -0.000138672

Tags: 数据numpydata信号数据文件错误np数组