我是Python新手,我有一个问题找不到答案。。。希望有人能帮忙: 我需要得到从csv文件导入的数据集的所有本地最大值的列表。 值的范围从0到0.5左右。
我只需要得到一个数据行(“Werte”,array或“N”,list)的本地最大值列表,就可以对它们进行统计。
这就是我得到的:
import numpy as np
from numpy import *
N = []
file = open('C:/Auswertung/PEE/PEE_L_1_O_130702-1.1.csv', 'r')
Probe = file.readline() # lese Inhalt zeilenweise in Listen
Header = file.readline()
data = file.readlines()
for row in data:
columns = row.split(";") # Trenne Zeilen bei ';'
N.append(float(columns[1]))
Werte = np.array([N])
# one try here: only gives me a set of 1s...
c = (diff(sign(diff(Werte))) < 0).nonzero()[0] + 1 # local max
print(c)
有人能帮我找到正确的方法吗? 非常感谢!
你在正确的轨道上。你需要做的唯一额外的事情就是切掉维克阵列。 但我认为,找到局部最大值可以简化为:
@Jamine非常正确,
&
而不是*
使它读起来更好。我想你在找
argrelmax
,来自scipy.signal
。它给出了一维数组相对最大值的索引。有结果的
要获取值,请使用
编辑:
请注意,它不计算域的最末端的局部最大值。
相关问题 更多 >
编程相关推荐