Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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矩阵中查找最大数的索引_Python_List_Numpy_Matrix - Fatal编程技术网

在包含字符串的python矩阵中查找最大数的索引

在包含字符串的python矩阵中查找最大数的索引,python,list,numpy,matrix,Python,List,Numpy,Matrix,我明白 np.argmax(np.max(x, axis=1)) 返回包含最大值和最大值的行的索引 np.argmax(np.max(x, axis=0)) 返回包含最大值的行的索引 但是如果矩阵包含字符串呢?如何更改代码,使其仍能找到最大值的索引 此外(如果无法执行我之前要求的操作),我是否可以更改代码,以便只在矩阵的子部分执行操作,例如,在本例中,在右下角的“2x2”子矩阵上: array = [['D','F,'J'], ['K',3,4], ['B',3,1]] [[3,4], [

我明白

np.argmax(np.max(x, axis=1))
返回包含最大值和最大值的行的索引

np.argmax(np.max(x, axis=0))
返回包含最大值的行的索引

但是如果矩阵包含字符串呢?如何更改代码,使其仍能找到最大值的索引

此外(如果无法执行我之前要求的操作),我是否可以更改代码,以便只在矩阵的子部分执行操作,例如,在本例中,在右下角的“2x2”子矩阵上:

array = [['D','F,'J'],
['K',3,4],
['B',3,1]]

[[3,4],
[3,1]]

能否先尝试将列转换为dtype类型?如果采用数据类型列的最小值/最大值,则应使用字符串值作为最小值/最大值。

虽然效率不高,但这可能是使用切片在原始矩阵中查找最大数索引的一种方法:

newmax=0
newmaxrow=0
newmaxcolumn=0

for row in [array[i][1:] for i in range(1,2)]:
    for num in row:
        if num>newmax:
            newmax=num
            newmaxcolumn=row.index(newmax)+1
            newmaxrow=[array[i][1:] for i in range(1,2)].index(row)+1

注意:如果最大的数字位于第0行或第0列内,此方法将不起作用。

最大值是多少?
K
J
与3或4相比如何?最大的值是最大的数字,在这种情况下,它将是4。J和K只是矩阵中的随机字符串。对于一些字符串,则整个数组要么是字符串,要么是对象数据类型。检查
dtype
。您可能需要用一些无害的值(不是最小值或最大值)替换字符串,然后执行
arg…
。观看
dtype
@hpaulj您知道如何对矩阵进行切片以获得指定的子矩阵吗?