如何在 python 中使用掩码将特定元素归零?
Posted
技术标签:
【中文标题】如何在 python 中使用掩码将特定元素归零?【英文标题】:How to zero particular elements using a mask in python? 【发布时间】:2022-01-18 15:31:15 【问题描述】:我遇到了一个简单的问题,我想根据表示数组中元素位置的掩码来分配值。例如array[*,1] = 0
,但这段代码显然行不通。
经过一番思考,我想出了这个:
import numpy as np
a = np.random.normal(size=(5, 2))
print(a)
print(a.shape)
for i in np.arange(a.shape[0]):
a[i][1] = 0
print(a)
print(a.shape)
但显然,这个尴尬的循环并不是一种 Python 的方式。
那么,您能否分享一些在 Python 中执行此类操作的巧妙方法?
【问题讨论】:
如果您希望第一列的所有条目都为零,只需使用a[:, 1] = 0
对数组进行切片
如果要使用条件语句查看np.where
,可以根据a[np.where(condition)] = 0
对数组进行索引
@Jonathan Weine 谢谢!我试图做到这一点,但忘记使用逗号,所以它不起作用。我想这应该是答案。
【参考方案1】:
如果您希望第一列的所有条目都为零,只需使用 a[:, 1] = 0
对数组进行切片。
如果你想使用条件语句查看np.where,它可以用于根据a[np.where(condition)] = 0
索引数组
【讨论】:
以上是关于如何在 python 中使用掩码将特定元素归零?的主要内容,如果未能解决你的问题,请参考以下文章
html 使用没有javascript的svg掩码将一个图像掩盖在另一个上面