1

我在字典对象中有 x 和 y 数据,格式为 {'item1': (x,y), 'item2': (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] 数据?在此先感谢您的帮助。

4

1 回答 1

0

您可以同时转换xy在 anp.array中,这将使用精美的索引使条件切片变得容易:

import numpy as np
x = np.array(x)
y = np.array(y)
cond = (x>=10) & (x<=20)
xFit = x[ cond ]
yFit = y[ cond ]
于 2013-06-29T11:55:15.113 回答