gpt4 book ai didi

python - 如何从二维数组+最大值的索引中获取每列的最大值

转载 作者:行者123 更新时间:2023-12-02 03:33:13 26 4
gpt4 key购买 nike

例如我有

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]] 形状为 (5,1)

同时我想接收每列最大值的索引。

这可能吗?我没有立即在 np.array 基本文档中找到解决方案。

最佳答案

您可以使用ndarray.max() .

axis 关键字参数描述了您要查找沿哪个轴的最大值。

keepdims=True 可让您保留输入的尺寸。

要获取列中最大值的索引,您可以使用 ndarray.argmax()功能。您还可以向此函数传递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]

关于python - 如何从二维数组+最大值的索引中获取每列的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51191731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com