python - 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.where
,np.isin
但不能让它以一种优雅的方式工作(比如matrix[np.where(np.isin(matrix[:,3], 0))]
)。我更喜欢最快的方法,我相信这将是一种使用 numpy 而不是 python 中的迭代的方法。
解决方案
推荐阅读
- java - 如何检测坐标是否在区域内?
- html - 将第一个 li 元素设置为固定并具有与非固定 li 元素相同的布局
- r - 如何从每个唯一标识符的不同行中删除重复值?
- apache-kafka - 如何在 Kafka Streams 中为不同的处理器使用不同的 serdes?
- python-3.x - 使用不同 Python 版本创建虚拟环境的问题
- python - QWebEngineView 在 Windows 10 上未显示任何内容
- javascript - Javascript SlackBot postMessage 功能正在发送垃圾邮件
- ansible - 当dict值是另一个列表时,dict的Ansible过滤器列表
- azure - 无法在centos上安装azure cli
- filenet-p8 - 使用 IBM filenet 中的文件对象获取绝对或相对路径