Python 在numpy数组中查找列表元素等于某物的行

Python 在numpy数组中查找列表元素等于某物的行,python,arrays,numpy,Python,Arrays,Numpy,我有一个带有列表的numpy数组: [(26, 6, 2, 4, 'Bridge', 1., 8, '2015-02-02') (23, 6, 1, 4, 'Bridge', 1., 8, '2015-02-02') (12, 6, 2, 4, 'Back', 1., 8, '2015-02-02') (23, 6, 3, 4, 'Back', 1., 8, '2015-02-02')] 我需要通过只保留将第5个元素设置为“Back”的列表来过滤numpy数组: [(12

我有一个带有列表的numpy数组:

[(26, 6, 2, 4, 'Bridge',  1.,  8, '2015-02-02')
 (23, 6, 1, 4, 'Bridge',  1.,  8, '2015-02-02')
 (12, 6, 2, 4, 'Back',  1.,  8, '2015-02-02')
 (23, 6, 3, 4, 'Back',  1.,  8, '2015-02-02')]
我需要通过只保留将第5个元素设置为“Back”的列表来过滤numpy数组:

[(12, 6, 2, 4, 'Back',  1.,  8, '2015-02-02')
 (23, 6, 3, 4, 'Back',  1.,  8, '2015-02-02')]

允许给定的numpy数组被
ar

所以


在此处签出numpy数组的布尔索引:

是什么原因使您删除并在此处再次重复?请尝试展示您所做的工作。欢迎使用堆栈溢出!纯代码编写请求与堆栈溢出无关——我们希望这里的问题与特定的编程问题有关——但我们很乐意帮助您自己编写!告诉我们,你被困在哪里了。这也将帮助我们更好地回答您的问题。
>>> ar = np.array([[26, 6, 2, 4, 'Bridge',  1.,  8, '2015-02-02'],
... [23, 6, 1, 4, 'Bridge',  1.,  8, '2015-02-02'],
... [12, 6, 2, 4, 'Back',  1.,  8, '2015-02-02'],
... [23, 6, 3, 4, 'Back',  1.,  8, '2015-02-02']])
>>> check = np.array([a[4]=='Back' for a in ar])
>>> check
array([False, False,  True,  True], dtype=bool)
>>> ar[check]
array([['12', '6', '2', '4', 'Back', '1.0', '8', '2015-02-02'],
       ['23', '6', '3', '4', 'Back', '1.0', '8', '2015-02-02']],
       dtype='|S11')
>>>