python - 按索引条件过滤数组
问题描述
我需要按索引条件过滤数组。有numpy
如下功能:
np.where_index(lambda indices: indices[0]**2 + indices[1]**2 < 10, a)
?
(类似于按值过滤np.where(a > 2, a)
)
解决方案
您可以使用遮罩来做到这一点,如下所示
arr = np.arange(25).reshape(5,5)
display(arr)
ind_x = np.arange(arr.shape[0]).reshape(-1,1)
ind_y = np.arange(arr.shape[1])
ind = (ind_x**2 + ind_y**2)<10
arr[ind]
推荐阅读
- python - 同时单击并按住鼠标按钮
- python - 如何在python中覆盖切片
- linux - get_user_pages 在 ARM64 上是否可移植?
- excel - vba 值特殊粘贴值所有工作表在特定范围内的相同位置
- node.js - 部署“nodejs-deployment”无效 spec.template.metadata.labels:无效值
- c++ - 主函数中任务的并行编程 - C++
- keras - 没有宽深模型的 TFX 示例
- firebase - 如何使用颤振将字段添加到firebase中的现有文档?
- python-3.x - 当我更改标签的属性时,包含图像的标签不会完全显示?
- sql - 1:M 与 Sequelize 关联的订单问题