matlibplot polyfit到x值的子集

时间:2013-06-29 07:56:50

标签: python numpy scipy curve-fitting

我在字典对象中的x和y数据格式为{&#39; item1&#39;:(x,y),&#39; item2&#39;:(x,y)...}其中每个x和y值是100个数字的列表。 对于每个键,我的x值从0到50.我想仅基于x> = 10且x <= 20的数据拟合数据的直线。 这就是我想要的......

for key,value in Dict.iteritems():
   #Get x,y values from each key in turn.
   [x,y] =  Dict.get(key) 
   # Extract just the x values in range. 
   xFit = [i for i in x if (i>=10 and i<=20)]

   << yFit = Get the corresponding y values for xFit >>   

   p = polyfit(xFit, yFit, 1)

是否有一种很好的方法可以将线条拟合到所需范围内的[x,y]数据? 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在x中转换ynp.array,这样可以使用精美的索引轻松实现条件切片:

import numpy as np
x = np.array(x)
y = np.array(y)
cond = (x>=10) & (x<=20)
xFit = x[ cond ]
yFit = y[ cond ]