-
白板的微信
假设您的数组被称为arr。在这种情况下,您希望先应用两个不同的过滤器,然后再应用1st column==x第二个9th column==y。首先,您应该单独创建每个过滤器(掩码),然后根据它们与预期输出之间的逻辑关系来查看您想对它们做什么。mask1 = arr[:, 0] == x # 1st column==xmask1 = 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()
-
凤凰求蛊
您可以使用np.where():您可以使用np.where():x = 1y = 2a[np.where((a[:, 0] == x) & (a[:, 8] == y)), 3].mean()
-
一只萌萌小番薯
我解决了如下问题(感谢 Kasrâmvd):mask1 = arr[:, 0] == x # 1st column==xmask1 = arr[:, 8] == y # 9th column==yfinal_mask = np.logical_and(mask1, mask2)filtered_arr = arr[final_mask,:]mean_3rd_column = filtered_arr[:,2].mean()