如何实施:t=np.where(<exists at least 1 zero in the same column of t>,t,np.zeros_like(t))以“pythonic”的方式?如果 t 在该列中至少有 1 个零,则此代码应将 t 中的所有列设置为零例子 :1 1 1 1 1 10 1 1 1 1 11 1 0 1 0 1应该转向0 1 0 1 0 10 1 0 1 0 10 1 0 1 0 1
2 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
any是你需要的
~(arr == 0).any(0, keepdims=True) * arr
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
繁星淼淼
TA贡献1775条经验 获得超11个赞
t如果t该列中至少有 1 个零,则此代码应将所有列设置为零
执行此特定任务的最简单方法:
t * t.min(0)
一种更通用的方法(如果您有一个具有不同值的数组并且条件是:如果一列至少出现一次 some_value,则将该列设置为 some_value)。
cond = (arr == some_value). any(0)arr[:, cond] = some_value
添加回答
举报
0/150
提交
取消
