2016-09-20 42 views
1

我有一個包含43142行和2列的.CSV文件(列表)。Python-獲得間隔的最大值

當繪製列表中的值x對y:

import numpy as np 
    import matplotlib.pyplot as plt 

    filename=np.genfromtxt(list.CSV,delimiter=',') 
    plt.plot(filename[:,0],filename[:,1]) 

我得到它具有多個極大值及類似如下的圖表: x vs y values of list.CSV

我想要做的是,給定一個aproximate在峯值所在的x值中找到最大值和相應的索引。

e.g,如果有在間隔X =(2720,2730)(參照圖2),我想找到,其中的值是最大的準確索引的最大ý值。

回答

0

如果你有一個範圍xmin < x < xmax那麼這應該工作(以x=filename[:,0]y=filename[:,1]):

idx = np.where(y==np.max(y[(x>xmin)&(x<xmax)]))[0][0] 

這將返回對應於給定範圍內的最大y值的單個指標。

+0

謝謝安格斯。這是否給了我y最大的指數?或者我需要使用np.argmax? –

+0

這給出了當xmin

+0

它的確如此。抱歉耽擱了!謝謝 –