Подобный массив объектов 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])]
Почти все операции с массивом объекта типа, подобным этому, включают в себя итерацию списка, подобную этой.