我得到了包含x,y座標的2x1數組列表。 所以它看起來像[np.array([x,y]), np.array([x,y]), np.array([x,y]), ...]
從堆疊數組中獲取所有x值? Python
現在我想要一個列表或數組將包含所有的x值和一個所有的y值。 但是,像list[:][1]
這樣的操作不起作用。
任何想法如何做到這一點?
我得到了包含x,y座標的2x1數組列表。 所以它看起來像[np.array([x,y]), np.array([x,y]), np.array([x,y]), ...]
從堆疊數組中獲取所有x值? Python
現在我想要一個列表或數組將包含所有的x值和一個所有的y值。 但是,像list[:][1]
這樣的操作不起作用。
任何想法如何做到這一點?
>>> import numpy as np
>>> L = [np.array([1, 2]), np.array([3, 4]), np.array([5, 6])]
>>> X = [a[0] for a in L]
>>> Y = [a[1] for a in L]
>>> X
[1, 3, 5]
>>> Y
[2, 4, 6]
如@DSM指出,可以轉列表,以及:
>>> X, Y = map(list, zip(*L))
>>> X
[1, 3, 5]
>>> Y
[2, 4, 6]
另一種選擇是'X = map(lambda a:a [0],L)'。 – ValarDohaeris
或舊的'X,Y = zip(* L)'技巧,至少元組輸出是否足夠。 – DSM
@DSM提交作爲答案,它更好 – jamylak
[numpy的陣列切片unxpected結果](可能重複http://stackoverflow.com/questions/16627891/numpy -array-slicing-unxpected-results) – BrenBarn
請問你如何解決這個數據結構?如果你可以控制它並且可以使用二維數組,那麼'x,y = list_2d.T'就可以工作。 – DSM