如何解决基于另一个布尔数组屏蔽 numpy 数组以选择特定行
my_arr = np.array([1,2,3,4,5,6,7,8,9,10])
或二维数组,如:
my_arr = np.array([[1,1,11],[2,0],[3,-1],...,[10,0]])
我定义了一个数组
mask_arr = ([1,1])
我想从掩码数组中得到一个由行组成的新数组,其中它们索引的mask_arr,元素等于“1”。
例如,第一个数组的结果如下:
[1,10]
我试过了
my_arr[my_mask]
但是没有用。有没有不想写一个 for 循环来做到这一点的解决方案?
提前致谢
解决方法
您的 <div class="form-group mb-3">
<div class="input-group">
<input asp-for="Name" class="form-control" placeholder="Name" />
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
</div>
<small>
<span asp-validation-for="Name" class="text-danger"></span>
</small>
</div>
看起来像整数类型,当您使用整数数组切片时,该数组被视为索引。所以
mask_arr
会给你my_arr[[0,1,1]]
。正如您所提到的,您想将 [row0,row1,row1]
视为布尔值,然后您可以将其转换为布尔值:
mask_arr
将提取与 my_arr[mask_arr.astype('bool')]
中的 1
对应的行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。