从2D Numpy数组开始我想创建一个1D数组,其中每个值对应于2D数组中每行的最小值。
例如,如果
dog=[[1,2],[4,3],[6,7]]
然后我想从
创建一个数组'dog':[1,3,6]
这看起来应该很容易,但到目前为止我还没有得到它。
答案 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]