我有一个二维数组,长这样:
array = [[23 ,89, 4, 3, 0],[12, 73 ,3, 5,1],[7, 9 ,12, 11 ,0]]
最后一列对于所有行始终为0或1。我的目的是计算第0列的两个均值,其中一个均值是最后一列的值为0时,另一个均值是最后一列的值为1时。
例如:对于上面给出的样本数组:
均值1:15(所有行中最后一列的值为0时第0列的平均值)
均值2:12(所有行中最后一列的值为1时第0列的平均值)
我尝试了以下代码(其中train是我的输入数组名称):
mean_c1_0=np.mean(train[:: , 0])
variance_c1_0=np.var(train[:: , 0])
这会让我得到第0列所有值的均值和方差。
我可以引入一个更多的循环和几个 if 条件来不断检查最后一列,只有在添加了第 0 列对应的值之后才继续。但是我正在寻找一种高效的方法。由于我是 Python 的新手,所以我希望是否有一种能够完成此任务的 numpy 函数。
您能指向任何这样的文档吗?