Tính toán lượng tử Q-th của dữ liệu dọc theo trục được chỉ định.
Mới trong phiên bản 1.15.0.
Parametersaarray_likeaarray_likeMảng đầu vào hoặc đối tượng có thể được chuyển đổi thành một mảng.
qarray_like của phaoarray_like of floatQuantile hoặc trình tự lượng tử để tính toán, phải bao gồm từ 0 đến 1.
trục {int, tuple of int, none}, tùy chọn{int, tuple of int, None}, optionalTrục hoặc trục dọc theo đó các lượng tử được tính toán. Mặc định là tính toán [các] lượng tử dọc theo phiên bản phẳng của mảng.
Outndarray, tùy chọnndarray, optionalMảng đầu ra thay thế để đặt kết quả. Nó phải có hình dạng và chiều dài bộ đệm giống như đầu ra dự kiến, nhưng loại [của đầu ra] sẽ được đúc nếu cần thiết.
Overwrite_InputBool, Tùy chọnbool, optionalNếu đúng, sau đó cho phép mảng đầu vào A được sửa đổi bằng các tính toán trung gian, để lưu bộ nhớ. Trong trường hợp này, nội dung của đầu vào A sau khi chức năng này hoàn thành là không xác định.
Phương thức, tùy chọnstr, optionalTham số này chỉ định phương pháp sử dụng để ước tính lượng tử. Có nhiều phương pháp khác nhau, một số duy nhất cho Numpy. Xem các ghi chú để giải thích. Các tùy chọn được sắp xếp theo loại R của chúng như được tóm tắt trong giấy H & F [1] là:
Đảo ngược_cdf,
’Trung bình_inverted_cdf,
Gần nhất_observation
Nội suy_inverted_cdf
Hazen ”
Weibull
‘Tuyến tính [mặc định]
Median_unbiased
Authalmal_unbiased
Ba phương pháp đầu tiên không liên tục. Numpy xác định thêm các biến thể không liên tục sau của tùy chọn ‘tuyến tính mặc định [7.]:
'thấp hơn'
’Cao hơn,
Điểm giữa
'gần nhất'
Đã thay đổi trong phiên bản 1.22.0: Đối số này trước đây được gọi là nội suy của Cameron và chỉ cung cấp mặc định của tuyến tính và bốn tùy chọn cuối cùng.This argument was previously called “interpolation” and only offered the “linear” default and last four options.
Keepdimsbool, tùy chọnbool, optionalNếu điều này được đặt thành TRUE, các trục bị giảm được để lại trong kết quả là kích thước với kích thước một. Với tùy chọn này, kết quả sẽ phát sóng chính xác so với mảng gốc a.
Nội suy, tùy chọnstr, optionalTên không dùng cho đối số từ khóa phương thức.
Không dùng nữa kể từ phiên bản 1.22.0.
ReturnSquantilescalar hoặc ndarrayquantilescalar or ndarrayNếu Q là một lượng tử duy nhất và trục = không có, thì kết quả là vô hướng. Nếu nhiều lượng tử được đưa ra, trục đầu tiên của kết quả tương ứng với các lượng tử. Các trục khác là các trục còn lại sau khi giảm a. Nếu đầu vào chứa số nguyên hoặc nổi nhỏ hơn float64
, loại dữ liệu đầu ra là float64
. Mặt khác, loại dữ liệu đầu ra giống như đầu vào. Nếu ra ngoài được chỉ định, mảng đó được trả về thay thế.
Ghi chú
Với một vectơ V
có độ dài N
, lượng tử Q-th của V
là giá trị q
của cách từ mức tối thiểu đến tối đa trong một bản sao được sắp xếp của V
. Các giá trị và khoảng cách của hai hàng xóm gần nhất cũng như tham số phương thức sẽ xác định lượng tử nếu xếp hạng chuẩn hóa không khớp với vị trí của q
chính xác. Hàm này giống như trung bình nếu q=0.5
, giống như mức tối thiểu nếu float64
0 và giống như tối đa nếu float64
1.
Tham số phương thức tùy chọn chỉ định phương thức sử dụng khi lượng tử mong muốn nằm giữa hai điểm dữ liệu float64
2. Nếu float64
3 là phần phân số của chỉ số được bao quanh bởi float64
4 và float64
5, và alpha và beta là các hằng số hiệu chỉnh sửa đổi I và J:
\ [i + g = [q - alpha] / [n - alpha - beta + 1] \]
Các phương pháp khác nhau sau đó hoạt động như sau
inverted_cdf:Phương pháp 1 của H & F [1]. Phương pháp này cho kết quả không liên tục:
Nếu g> 0; sau đó lấy j
Nếu g = 0; sau đó lấy tôi
Phương pháp 2 của H & F [1]. Phương pháp này cho kết quả không liên tục:
Nếu g> 0; sau đó lấy j
Nếu g = 0; sau đó lấy tôi
Phương pháp 2 của H & F [1]. Phương pháp này cho kết quả không liên tục:
Nếu g> 0; sau đó lấy j
Nếu g = 0; sau đó lấy tôi
Phương pháp 2 của H & F [1]. Phương pháp này cho kết quả không liên tục:
Phương pháp 3 của H & F [1]. Phương pháp này cho kết quả không liên tục:
Nếu g = 0 và chỉ mục là lẻ; sau đó lấy j
Nếu g = 0 và chỉ mục là chẵn; sau đó lấy tôi
Interpolated_inverted_cdf:
Phương pháp 4 của H & F [1]. Phương pháp này cho kết quả liên tục bằng cách sử dụng:
Alpha = 0
Beta = 1
Nếu g = 0 và chỉ mục là lẻ; sau đó lấy j
Nếu g = 0 và chỉ mục là chẵn; sau đó lấy tôi
Interpolated_inverted_cdf:
Phương pháp 4 của H & F [1]. Phương pháp này cho kết quả liên tục bằng cách sử dụng:
Nếu g = 0 và chỉ mục là chẵn; sau đó lấy tôi
Interpolated_inverted_cdf:
Phương pháp 4 của H & F [1]. Phương pháp này cho kết quả liên tục bằng cách sử dụng:
Alpha = 0
Beta = 1
Alpha = 3/8
Beta = 3/8
Phương pháp Numpy được giữ để tương thích ngược. Lấy float64
4 làm điểm nội suy.
Phương pháp Numpy được giữ để tương thích ngược. Lấy float64
5 làm điểm nội suy.
Phương pháp Numpy được giữ để tương thích ngược. Mất float64
4 hoặc float64
5, tùy theo mức nào gần nhất.
Phương pháp Numpy được giữ để tương thích ngược. Sử dụng float64
0.
Người giới thiệu
1[1,2,3,4,5,6,7,8,9,10][1,2,3,4,5,6,7,8,9,10]R. J. Hyndman và Y. Fan, Quantiles mẫu trong các gói thống kê, Nhà thống kê người Mỹ, 50 [4], trang 361-365, 1996
Ví dụ
>>> a = np.array[[[10, 7, 4], [3, 2, 1]]] >>> a array[[[10, 7, 4], [ 3, 2, 1]]] >>> np.quantile[a, 0.5] 3.5 >>> np.quantile[a, 0.5, axis=0] array[[6.5, 4.5, 2.5]] >>> np.quantile[a, 0.5, axis=1] array[[7., 2.]] >>> np.quantile[a, 0.5, axis=1, keepdims=True] array[[[7.], [2.]]] >>> m = np.quantile[a, 0.5, axis=0] >>> out = np.zeros_like[m] >>> np.quantile[a, 0.5, axis=0, out=out] array[[6.5, 4.5, 2.5]] >>> m array[[6.5, 4.5, 2.5]] >>> b = a.copy[] >>> np.quantile[b, 0.5, axis=1, overwrite_input=True] array[[7., 2.]] >>> assert not np.all[a == b]
Xem thêm float64
1 để biết trực quan hóa hầu hết các phương pháp.