我将数据库查询的结果作为nd数组。我想按结果第一列中的ID列表筛选结果。
Query result: Filter: Desired outcome:
ID | Field ID ID | Field
---+------ --- ---+------
0 | Asd 1 1 | Wat
1 | Wat 2 2 | Cat
2 | Cat
6 | Yep
当然,可以使用列表理解:
out = [i for i in result if i[0] in filter]
但我正在寻找一种麻木的解决方案,比如
np.where
.
和
此方法返回numpy数组的列表,而不是
ndarray
. 所以,完全不可用。
你知道这种方法吗?
编辑:用于实验的沙盒
如果你想尝试的话,这里有复制粘贴的代码。
a = np.array([[0, 'asd'],[1, 'wat'],[2, 'cat'],[6, 'yep']])
b = np.array([1, 2], dtype=str)
out = np.array([i for i in a if i[0] in b])
> array([['1', 'wat'], ['2', 'cat']])