为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

翻翻过去那场雪 2022-07-12 09:32:00
如何实施: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


查看完整回答
反对 回复 2022-07-12
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

t如果t该列中至少有 1 个零,则此代码应将所有列设置为零

执行此特定任务的最简单方法:

t * t.min(0)

一种更通用的方法(如果您有一个具有不同值的数组并且条件是:如果一列至少出现一次 some_value,则将该列设置为 some_value)。

cond = (arr == some_value).
any(0)arr[:, cond] = some_value


查看完整回答
反对 回复 2022-07-12
  • 2 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号