陪伴而非守候
给定您的目标数组:import numpy as npanarray = np.array([[ 0., 9.57705087], [ 0.0433, 9.58249315], [ 0.0866, 9.59745942], [ 0.1299, 9.62194967], [ 0.1732, 9.65324278], [ 0.2165, 9.68725702], [ 0.2598, 9.72263184], [ 0.3031, 9.75256437], [ 0.3464, 9.77025178], [ 0.3897, 9.76889121], [ 0.433, 9.74167982], [ 0.4763, 9.68589645], [ 0.5196, 9.59881999], [ 0.5629, 0.48861383], [ 0.6062, 9.3593597]])此函数将完成以下工作:def slice_by_five(array): argmin = np.argmin(array[:,1]) if argmin < 5: return array[:argmin+6,:] return array[argmin-5:argmin+6,:]check = slice_by_five(anarray)print(check)输出:[[0.3897 9.76889121] [0.433 9.74167982] [0.4763 9.68589645] [0.5196 9.59881999] [0.5629 9.48861383] [0.6062 9.3593597 ]]该函数当然可以推广以考虑任何大小的邻域:ndef slice_by_n(array, n): argmin = np.argmin(array[:,1]) if argmin < n: return array[:argmin+n+1,:] return array[argmin-n:argmin+n+1,:]check = slice_by_n(anarray, 2)print(check)输出:[[0.5196 9.59881999] [0.5629 9.48861383] [0.6062 9.3593597 ]]