Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何识别numpy数组中平均值最大的列?_Python_Arrays_Numpy - Fatal编程技术网

Python 如何识别numpy数组中平均值最大的列?

Python 如何识别numpy数组中平均值最大的列?,python,arrays,numpy,Python,Arrays,Numpy,给定以下数组: complete_matrix = numpy.array([ [0, 1, 2, 4], [1, 0, 3, 5], [2, 3, 0, 6]]) 我想确定平均值最高的列,不包括对角线上的零。因此,在这种情况下,我可以将完整的_矩阵[:,3]识别为平均值最高的列。类似于: import numpy complete_matrix = numpy.array([ [0, 1, 2, 4], [1, 0, 3, 5], [

给定以下数组:

    complete_matrix = numpy.array([
    [0, 1, 2, 4],
    [1, 0, 3, 5],
    [2, 3, 0, 6]])
我想确定平均值最高的列,不包括对角线上的零。因此,在这种情况下,我可以将完整的_矩阵[:,3]识别为平均值最高的列。

类似于:

import numpy

complete_matrix = numpy.array([
    [0, 1, 2, 4],
    [1, 0, 3, 5],
    [2, 3, 0, 6]])

print complete_matrix[:,numpy.argmax(numpy.mean(complete_matrix, 0))]
# [4 5 6]
比如:

import numpy

complete_matrix = numpy.array([
    [0, 1, 2, 4],
    [1, 0, 3, 5],
    [2, 3, 0, 6]])

print complete_matrix[:,numpy.argmax(numpy.mean(complete_matrix, 0))]
# [4 5 6]

这个问题与这里的问题不同吗:

据我所知,唯一的区别是这篇文章中的矩阵不是正方形矩阵。如果这是故意的,您可以尝试使用权重。由于我不完全理解您的意图,以下解决方案为0个条目分配0个权重,否则为1:

numpy.argmax(numpy.average(complete_matrix,axis=0, weights=complete_matrix!=0))

您始终可以创建一个权重矩阵,其中对角线条目的权重为0,否则为1。

此问题与此处的问题不同:

据我所知,唯一的区别是这篇文章中的矩阵不是正方形矩阵。如果这是故意的,您可以尝试使用权重。由于我不完全理解您的意图,以下解决方案为0个条目分配0个权重,否则为1:

numpy.argmax(numpy.average(complete_matrix,axis=0, weights=complete_matrix!=0))
您始终可以创建一个权重矩阵,其中对角线项的权重为0,否则为1。

I考虑零对角线的排除。I考虑零对角线的排除