所以我确实有这种格式的多维数组:
Cjk = [[81 51 31] [82 47 54] [34 55 64] [96 73 43]];
如何获取所包含数组的每个索引的最小值。
我想要这个输出:
34 47 31 # these are the minimum values compared to each one values of the same index
我尝试了一些方法,但未成功,因为我必须与I和J一起工作,因为数组Cjk会及时获取更多值,因此需要可扩展性
答案 0 :(得分:1)
您想在每一列中找到最小值。您可以在此处使用zip
。
Cjk = [[81 51 31] [82 47 54] [34 55 64] [96 73 43]]
min_cols=[min(lst) for lst in zip(*Cjk)]
# [34, 47, 31]
答案 1 :(得分:1)
您可以这样做
In [21]: list(map(lambda x:min(x),zip(*Cjk)))
Out[21]: [34, 47, 31]
答案 2 :(得分:0)
您可以导入numpy并使用轴参数查找矩阵的最小行和最大行和列。 像本例一样:
import numpy as np
>>> x = -np.matrix(np.arange(12).reshape((3,4))); x
matrix([[ 0, -1, -2, -3],
[ -4, -5, -6, -7],
[ -8, -9, -10, -11]])
>>> x.min()
-11
>>> x.min(0)
matrix([[ -8, -9, -10, -11]])
>>> x.min(1)
matrix([[ -3],
[ -7],
[-11]])
选中此https://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.min.html