2013-07-09 69 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)