例如,我有
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基本文档中找到解决方案。
答案 0 :(得分:1)
您可以使用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]
答案 1 :(得分:1)
您也可以使用numpy。
示例:
atlas-create-bamboo-plugin