2012-02-16 40 views
16

Có chức năng numpy cung cấp cho một mảng numpy nhất định giá trị tối đa - tối thiểu của nó, tức là numpy.max (a) - numpy.min (a)?Có chức năng tối đa numpy không?

ví dụ:

numpy.xxx([4,3,2, 6] = 4 since max = 6, min = 2, 6 - 4 = 2) 

Lý do: tăng hiệu suất kể từ khi max và min sẽ gây ra gấp đôi lần lặp mảng (trong trường hợp của tôi là 7,5 triệu trở lên).

Trả lời

28

Thực tế có chức năng như vậy - được gọi là numpy.ptp() cho "cao điểm đến đỉnh".

+7

+1… numpy sẽ mở rộng tên hàm của chúng thành 30 ký tự. Trả lời ở đây sẽ nhanh hơn nhiều ... – eumiro

+0

Cảm ơn ... Tôi thực sự không thể tìm thấy nó nhưng tôi đã gần (nhìn vào peaktopeak và những người khác). –

+0

Hàm nội bộ 'ptp' tính toán tối thiểu và tối đa riêng biệt, vì vậy giải pháp này vẫn lặp lại trên mảng hai lần. Xem [mã nguồn ptp] (https://github.com/numpy/numpy/blob/e7fe68ad3ce7f91cb152df49115f353ba9d75789/numpy/core/src/multiarray/calculation.c#L308) để biết chi tiết. – jochen

Các vấn đề liên quan