首页 > 解决方案 > numpy获取列中列表中的值的行

问题描述

我有一种奇怪的 numpy ndarray,它看起来像这样:

[[0,1,3,list([0,1])],
[0,0,0,list([0])],
[0,0,0,list([])],
[1,1,1,list([1,2,3,4,5,6,7])]]

因此,索引 3 处的列实际上是 type list

我想提取包含在索引 3 中的列表中包含键值的行,例如,类似magic_function(matrix, 0)可能 return[[0,1,3,list([0,1])], [0,0,0,list([0])]]的行,因为索引 0 和 1 处的行包含0索引 3 处的列表中的值。

我尝试使用 and 的组合np.wherenp.isin但不能让它以一种优雅的方式工作(比如matrix[np.where(np.isin(matrix[:,3], 0))])。我更喜欢最快的方法,我相信这将是一种使用 numpy 而不是 python 中的迭代的方法。

标签: pythonnumpy

解决方案


推荐阅读