Python 求列的最小值的索引并按列元素按数字顺序排列到列表中
我有以下矩阵:Python 求列的最小值的索引并按列元素按数字顺序排列到列表中,python,arrays,numpy,Python,Arrays,Numpy,我有以下矩阵: matrix = np.random.randn(10,10) 我在每列中找到了最小值的索引: minimum_values = np.min(matrix, axis = 0) index_of_minimum = np.where(matrix == minimum_values) print(index_of_minimum) 上述代码输出以下内容: (array([1, 3, 3, 3, 5, 5, 6, 8, 9, 9], dtype=int64), array([
matrix = np.random.randn(10,10)
我在每列中找到了最小值的索引:
minimum_values = np.min(matrix, axis = 0)
index_of_minimum = np.where(matrix == minimum_values)
print(index_of_minimum)
上述代码输出以下内容:
(array([1, 3, 3, 3, 5, 5, 6, 8, 9, 9], dtype=int64), array([9, 1, 5, 7, 2, 4, 0, 3, 6, 8], dtype=int64))
有没有办法将
[9,1,5,7,2,4,0,3,6,8]
排列成一个列表,从0到9,每个列都有相关的最小索引([1,3,3,3,5,5,6,8,9,9]
)?你是否想把结果转换成元组列表,即[(1,9),(3,1),(3,5),…]
?不确定您是否正在寻找argsort?你能试试[*映射(lambda x:x[np.argsort(最小值的索引[1]),最小值的索引)]
?