首页 > 解决方案 > 如何根据 3D np 数组中的维度过滤/替换 >0 的值?

问题描述

我有一个 3D numpy 大小的数组,(260,311,260)我想用 0 替换第一个维度中大于 0 的所有值(即保持维度)。这意味着将“立方体”的一半设置为 0。

到目前为止我已经尝试过

np.where(A[A>0,:,:],1,0)

A_x = A.T[(A[0]>0).any(axis=0).T].T

还有一个布尔掩码

bool_mask = (A> 0)
A[bool_mask == True]

但到目前为止没有任何效果。显然我可以写一个循环,但没有更优雅的方式吗?

先感谢您!

标签: pythonnumpy-ndarraydimension

解决方案


推荐阅读