У меня есть массив Numpy координат (x, y), аналогичный показанному ниже:
points=np.array([[ 0.00000000e+00, 0.00000000e+00],
[ 2.00000000e+00, -2.97422935e-07],
[ 4.00000000e+00, -3.29450278e-06],
[ 6.00000000e+00, -7.52036485e-06],
[ 8.00000000e+00, -1.81746526e-05],
[ 1.00000000e+01, -3.18379179e-05],
[ 1.20000000e+01, -4.59500442e-05],
[ 1.40000000e+01, -5.98470188e-05]])
Чтобы построить эти точки, мне нужны минимумы и максимумы значений x и значений y отдельно. Для этой цели я использовал цикл for. Например, чтобы найти минимальные значения x:
x_min = points[0,0]
for kk in range(len(points)):
if x_min>points[kk,0]:
x_min = points[kk,0]
Но я хотел бы знать, есть ли лучший способ сделать это..
Ценю вашу помощь
Вы можете использовать встроенные min и max:
min(points[:,0]) # giving you 0.0
min(points[:,1]) # giving you -5.98470188e-05
и
max(points[:,0]) # giving 14.0
max(points[:,1]) # giving 0.0
Встроенные в Python min
и max
, безусловно, будут работать, но у Numpy есть собственные версии, которые работают намного эффективнее.
x_min, y_min = points.min(axis=0)
x_max, y_max = points.max(axis=0)
Используйте встроенные функции min и max.