从数组行中的最小值创建一个numpy数组

时间:2014-11-20 13:10:27

标签: python numpy

从2D Numpy数组开始我想创建一个1D数组,其中每个值对应于2D数组中每行的最小值。

例如,如果

dog=[[1,2],[4,3],[6,7]]

然后我想从

创建一个数组
'dog':[1,3,6]

这看起来应该很容易,但到目前为止我还没有得到它。

2 个答案:

答案 0 :(得分:4)

In [54]: dog=[[1,2],[4,3],[6,7]]

In [55]: np.min(dog, axis=1)
Out[55]: array([1, 3, 6])

或者,如果dog是NumPy数组,则可以调用其min方法:

In [57]: dog = np.array([[1,2],[4,3],[6,7]])

In [58]: dog.min(axis=1)
Out[58]: array([1, 3, 6])

由于dog.shape是(3,2),(3行,2列),axis=1指的是形状中的第二个维度 - 具有2个元素的维度。将axis=1置于dog.min的调用中会让NumPy在axis=1方向上取最小值,从而消除长度为2的轴。因此结果为(3,)形状。

答案 1 :(得分:0)

没有numpy:

dog=[[1,2],[4,3],[6,7]] 
mins = [min(x) for x in dog]