2013-07-09 68 views
0

我的最终目标是编写一个函数,将列表作为参数,找到列表中的点的最佳拟合线,然后绘制点和最合适的线,但我需要一些建议我的参数/列表可能是这样的:[(1,3),(5,8),(2,4)] 我需要找到x的平均值值和y值 - 我不知道如何将我的(x,y)点分成一个x值列表和一个y值列表,以便我可以分别找到两者的均值。 也许我的想法分开的坐标是不是最有效的想法...Python绘制回归

回答

0

给元组的列表,元组创造了第一和第二元素的列表可以做一个列表理解,如下:

>>> z = [(1,3),(5,8),(2,4)] 
>>> [a for a,b in z] 
[1, 5, 2] 
>>> [b for a,b in z] 
[3, 8, 4] 
0

使用zip

>>> zip(*[(1,3),(5,8),(2,4)]) 
<zip object at 0x7f377bebe050> 
>>> list(_) 
[(1, 5, 2), (3, 8, 4)] 
>>> xpoints, ypoints = zip(*[(1,3),(5,8),(2,4)]) 
>>> xpoints 
(1, 5, 2) 
>>> ypoints 
(3, 8, 4)