创建一个numpy数组,包含数组每一行中最小值的数据

2024-04-19 07:13:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如,如果

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

然后我想从

'dog':[1,3,6]

这似乎应该很容易做到,但我到目前为止还没有做到。你知道吗


Tags: numpy数组dog
2条回答

不带numpy:

dog=[[1,2],[4,3],[6,7]] 
mins = [min(x) for x in dog]
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个元素的维度。在对dog.min的调用中放入axis=1,告诉NumPy在axis=1方向上取min,这样就消除了长度轴2。结果就是这样的(3,)。你知道吗

相关问题 更多 >