python - 使用布尔掩码从现有数组构建新数组
问题描述
我创建了一个布尔掩码,比如说mask
,我想将它应用于现有数组,比如说old
创建一个全新的数组,比如说new
,它只保留非零元素。然后,该new
数组应该具有相对于 更小的维度old
。
有人可以建议我最快和更简洁的方法,如果可能的话,不使用 numpy.append 函数?
解决方案
说你有:
old = np.array([2,4,3,5,6])
mask = [True, False, True, False, False]
只需这样做:
new = old[mask]
print(new)
[2 3]
我建议您阅读有关布尔或“掩码”索引数组的信息
推荐阅读
- java - 当我无法更改原始函数时如何在java中将函数作为方法参数传递
- vba - 修改ms访问图表ValueAxis最小值
- excel - 如何将两列与数据合并,如果一列的单元格为空,则相邻的单元格已满?
- amazon-web-services - 无法解析 AmazonS3 依赖项导入
- javascript - 更改请求的响应缓存标头
- c++ - 为什么允许 std::unordered_map::rehash() 使迭代器无效?
- mongodb - 从 localhost 到 cosmosDb 的 Mongorestore 失败并显示“通过指定“retrywrites=false”禁用可重试写入
- python - python webdriver获取每个子文本
- python - 我如何在 django 上编辑其他用户的个人资料
- r - 使用 dplyr rename(across(