您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

NumPy通过使用索引列表为每行选择特定的列索引

NumPy通过使用索引列表为每行选择特定的列索引

如果您有一个布尔数组,则可以像这样直接选择:

>>> a = np.array([True, True, True, False, False])
>>> b = np.array([1,2,3,4,5])
>>> b[a]
array([1, 2, 3])

与最初的示例一起使用,您可以执行以下操作:

>>> a = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> b = np.array([[False,True,False],[True,False,False],[False,False,True]])
>>> a[b]
array([2, 4, 9])

您还可以添加一个arange并对其进行直接选择,尽管取决于生成布尔数组的方式以及代码看起来像YMMV。

>>> a = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> a[np.arange(len(a)), [1,0,2]]
array([2, 4, 9])

希望能有所帮助,如果您还有其他问题,请告诉我。

其他 2022/1/1 18:31:16 有199人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶