numpy where - 如何在整列上设置条件?

如何实施:


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 1

0 1 1 1 1 1

1 1 0 1 0 1

应该转向


0 1 0 1 0 1

0 1 0 1 0 1

0 1 0 1 0 1


翻翻过去那场雪
浏览 173回答 2
2回答

炎炎设计

any是你需要的~(arr == 0).any(0, keepdims=True) * arr0 1 0 1 0 10 1 0 1 0 10 1 0 1 0 1

繁星淼淼

t如果t该列中至少有 1 个零,则此代码应将所有列设置为零执行此特定任务的最简单方法:t&nbsp;*&nbsp;t.min(0)一种更通用的方法(如果您有一个具有不同值的数组并且条件是:如果一列至少出现一次 some_value,则将该列设置为 some_value)。cond&nbsp;=&nbsp;(arr&nbsp;==&nbsp;some_value). any(0)arr[:,&nbsp;cond]&nbsp;=&nbsp;some_value
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python