gpt4 book ai didi

python - 计算矩阵中每行的最大值(不包括其自己的列)的更有效方法是什么?

转载 作者:行者123 更新时间:2023-12-03 13:31:36 25 4
gpt4 key购买 nike

对于给定的二维矩阵 np.array([[1,3,1],[2,0,5]])如果需要计算矩阵中每行的最大值(不包括其自己的列),则预期示例返回 np.array([[3,1,3],[5,5,2]]) ,这样做的最有效方法是什么?
目前我用一个循环来实现它来排除它自己的 col 索引:

n=x.shape[0]
row_max_mat=np.zeros((n,n))
rng=np.arange(n)
for i in rng:
row_max_mat[:,i] = np.amax(s_a_array_sum[:,rng!=i],axis=1)

有没有更快的方法呢?

最佳答案

与您的想法类似(一一排除列),但具有索引:

mask = ~np.eye(cols, dtype=bool)
a[:,np.where(mask)[1]].reshape((a.shape[0], a.shape[1]-1, -1)).max(1)

输出:
array([[3, 1, 3],
[5, 5, 2]])

关于python - 计算矩阵中每行的最大值(不包括其自己的列)的更有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61530669/

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