如何从2d数组+最大值索引中获取每列的最大值

2024-03-29 02:27:01 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我有

A = [[1 2 3 4 5]
     [2 4 5 8 7]
     [9 8 4 5 2]
     [1 2 4 7 2]
     [5 9 8 7 6]
     [1 2 5 4 3]]

所以A的形状=(5,6) 我现在想要的是每列的最大值并返回结果,例如:

A = [[9 9 8 8 7]]带as形(5,1)

同时我想从每一列得到最大值的索引。你知道吗

这可能吗?我没有马上找到解决办法np.数组基本文件。你知道吗


Tags: 文件asnp数组形状解决办法
2条回答

你也可以用numpy。你知道吗

示例:

import numpy as np

A = [[1, 2, 3, 4, 5],
 [2, 4, 5, 8, 7],
 [9, 8, 4, 5, 2],
 [1, 2, 4, 7, 2],
 [5, 9, 8, 7, 6],
 [1, 2, 5, 4, 3]]

print(A)

A=np.array(A)

print(A.max(axis=0))

你可以用^{}。你知道吗

axis关键字参数描述要沿哪个轴找到最大值。你知道吗

keepdims=True允许您保留输入的维度。你知道吗

要获得列中最大值的索引,可以使用^{}函数。 也可以将axis参数传递给此函数,但没有keepdims选项。你知道吗

在这两个命令中,axis=0描述列,axis=1描述行。 标准值axis=None将搜索整个扁平数组中的最大值。你知道吗

示例:

import numpy as np

A = np.asarray(
    [[1, 2, 3, 4, 5],
     [2, 4, 5, 8, 7],
     [9, 8, 4, 5, 2],
     [1, 2, 4, 7, 2],
     [5, 9, 8, 7, 6],
     [1, 2, 5, 4, 3]])
print(A)

max = A.max(axis=0, keepdims=True)
max_index = A.argmax(axis=0)

print('Max:', max)
print('Max Index:', max_index)

这张照片:

[[1 2 3 4 5]
 [2 4 5 8 7]
 [9 8 4 5 2]
 [1 2 4 7 2]
 [5 9 8 7 6]
 [1 2 5 4 3]]
Max: [[9 9 8 8 7]]
Max Index: [2 4 4 1 1]

相关问题 更多 >