3 回答

TA贡献1883条经验 获得超3个赞
假设您的数组被称为arr。在这种情况下,您希望先应用两个不同的过滤器,然后再应用1st column==x第二个9th column==y。首先,您应该单独创建每个过滤器(掩码),然后根据它们与预期输出之间的逻辑关系来查看您想对它们做什么。
mask1 = arr[:, 0] == x # 1st column==x
mask1 = arr[:, 8] == y # 9th column==y
现在,您可以使用or、and或任何其他逻辑运算符来创建最终掩码,在本例中为and. 为此,您可以在 numpy 中使用逻辑函数。
final_mask = np.logical_and(mask1, mask2)
最后,您需要final_mask做的就是根据您要执行的计算过滤您的数组:
filtered_3rd_column = arr[:, final_mask]
_mean = filtered_3rd_column.mean()

TA贡献1825条经验 获得超4个赞

TA贡献1795条经验 获得超7个赞
我解决了如下问题(感谢 Kasrâmvd):
mask1 = arr[:, 0] == x # 1st column==x
mask1 = arr[:, 8] == y # 9th column==y
final_mask = np.logical_and(mask1, mask2)
filtered_arr = arr[final_mask,:]
mean_3rd_column = filtered_arr[:,2].mean()
添加回答
举报