给出一个numpy 2d
列表 - 大小为mxn
的数组,获取大小为n
的数组的最佳方法是什么(列表中每个矩阵的列数)在列表中的所有矩阵中,i
- 数组的值是列i
的最大值?
答案 0 :(得分:1)
>>> import numpy as np
>>> a = np.array([[1,11,5,2], [3,9,1,12], [5,7,7,1]])
>>> a
array([[ 1, 11, 5, 2],
[ 3, 9, 1, 12],
[ 5, 7, 7, 1]])
按栏列最多
>>> a.max(axis=0)
array([ 5, 11, 7, 12])
按行最多
>>> a.max(axis=1)
array([11, 12, 7])
如果您有2D numpy数组列表:
>>> a = np.array([[1,11,5,2], [3,9,1,12], [5,7,7,1]])
>>> b = np.array([[2,4,6,8],[1,3,2,1],[5,6,7,8]])
>>> l = [a,b]
您可以使用列表理解
>>> [i.max(axis=0) for i in l]
[array([ 5, 11, 7, 12]),
array([5, 6, 7, 8])]
>>> [i.max(axis=1) for i in l]
[array([11, 12, 7]),
array([8, 3, 8])]
答案 1 :(得分:0)
您可以先垂直堆叠数组,然后取每列的最大值:
np.vstack(list_of_arrays).max(axis=0)