[英]Selecting specific rows of numpy.ndarray containing numpy.ndarrays of different size
我有一個numpy.ndarray
包含不同大小的numpy.ndarray's
,我想提取一些行,其中每行的第一個數字在某個列表中。
例:
>>>a
array([array([1]), array([2, 3]), array([3, 1, 1]), array([2, 3, 3, 4])], dtype=object)
>>> idx
[2]
我需要:
>>>a
array([array([2, 3]), array([2, 3, 3, 4])], dtype=object)
所以我只想要第一個數字為2的行(或數組)。 有一個簡單的和很好的方式,這樣做就像在這個崗位在這里 ?
這樣的對象dtype數組比2d數組更像是列表列表。 a
真正有指向元素陣列,只是一個列表會。
In [517]: a=array([array([1]), array([2, 3]), array([3, 1, 1]), array([2, 3, 3, 4])], dtype=object)
In [518]: a
Out[518]:
array([array([1]), array([2, 3]), array([3, 1, 1]), array([2, 3, 3, 4])],
dtype=object)
選擇的元件的一個直接的方法a
符合該條件是使用一個列表理解:
In [519]: [row for row in a if row[0]==2]
Out[519]: [array([2, 3]), array([2, 3, 3, 4])]
像這樣的對象dtype數組上的幾乎所有操作都涉及這樣的列表迭代。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.