如何高效对Numpy数组取行最大值并压缩为一维数组?
Numpy提取二维数组每行最大值的最优方法
直接用Numpy内置的max()方法,指定axis=1参数就能高效实现,这是Numpy原生的向量化操作,比循环快得多,代码也简洁:
import numpy as np arr = np.array([[1,9],[7,3]]) row_max = arr.max(axis=1) # 也可以写成 np.max(arr, axis=1) print(row_max) # 输出: array([9, 7])
参数说明:
axis=1表示沿着行的维度计算最大值,即对每一行单独求解最大值;如果设为axis=0则会按列计算最大值。
这种向量化操作是Numpy的核心优势,底层由C实现,比Python循环的效率高出几个数量级,在处理大规模数组时性能差距会更显著。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

