簡體   English   中英

選擇包含不同大小的numpy.ndarrays的numpy.ndarray的特定行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM