Cốt truyện phân phối phần trăm python
Trục hoặc các trục dọc theo đó phần trăm được tính toán. Giá trị mặc định là tính toán (các) phần trăm dọc theo phiên bản phẳng của mảng Đã thay đổi trong phiên bản 1. 9. 0. Bộ trục được hỗ trợ ra ndarray, tùy chọnMảng đầu ra thay thế để đặt kết quả. Nó phải có cùng hình dạng và độ dài bộ đệm như đầu ra dự kiến, nhưng loại (của đầu ra) sẽ được truyền nếu cần overwrite_input bool, tùy chọnNếu True, thì cho phép sửa đổi mảng đầu vào a bằng các phép tính trung gian, để tiết kiệm 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 pháp str, tùy chọnTham số này chỉ định phương pháp sử dụng để ước tính phần trăm. Có nhiều phương pháp khác nhau, một số phương pháp 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 bài báo H&F là
Ba phương pháp đầu tiên là không liên tục. NumPy xác định thêm các biến thể không liên tục sau đây của 'tuyến tính' mặc định (7. ) quyền mua
Đã thay đổi trong phiên bản 1. 22. 0. Đối số này trước đây được gọi là "nội suy" và chỉ cung cấp tùy chọn "tuyến tính" mặc định và bốn tùy chọn cuối cùng. keepdims bool, tùy chọnNếu điều này được đặt thành True, các trục bị giảm sẽ được để lại trong kết quả dưới dạng 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 chính xác so với mảng ban đầu a Mới trong phiên bản 1. 9. 0 nội suy str, tùy chọnTên không dùng nữa 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 Trả về . phân vị vô hướng hoặc ndarrayNếu q là một phân vị đơn và trục=Không, thì kết quả là một đại lượng vô hướng. Nếu nhiều phần trăm được đưa ra, trục đầu tiên của kết quả tương ứng với phần trăm. Các trục khác là các trục còn lại sau khi giảm một. Nếu đầu vào chứa số nguyên hoặc số float nhỏ hơn Xem thêm tương đương với tương đương với phân vị, ngoại trừ q trong phạm vi [0, 1] ghi chú Cho trước một vectơ >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])1 có độ dài >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])2, phân vị thứ q của >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])1 là giá trị >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])4 trên khoảng cách từ nhỏ nhất đến lớn nhất trong một bản sao được sắp xếp của >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])1. 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 pháp sẽ xác định phần trăm nếu xếp hạng chuẩn hóa không khớp chính xác với vị trí của >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])6. Hàm này giống như trung vị nếu >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])7, giống như mức tối thiểu nếu >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])8 và giống như mức tối đa nếu >>> m = np.percentile(a, 50, axis=0) >>> out = np.zeros_like(m) >>> np.percentile(a, 50, axis=0, out=out) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5])9 Tham số phương thức tùy chọn chỉ định phương thức sẽ sử dụng khi phân vị mong muốn nằm giữa hai chỉ mục >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)0 và >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)1. Trong trường hợp đó, trước tiên chúng tôi xác định >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)2, một chỉ số ảo nằm giữa >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)0 và >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)4, trong đó >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)0 là giá sàn và >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)6 là phần lẻ của chỉ số. Sau đó, kết quả cuối cùng là phép nội suy của >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)7 và >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)8 dựa trên >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)6. Trong quá trình tính toán của >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)6, >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)0 và >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)4 được sửa đổi bằng cách sử dụng các hằng số hiệu chỉnh import matplotlib.pyplot as plt a = np.arange(4) p = np.linspace(0, 100, 6001) ax = plt.gca() lines = [ ('linear', '-', 'C0'), ('inverted_cdf', ':', 'C1'), # Almost the same as `inverted_cdf`: ('averaged_inverted_cdf', '-.', 'C1'), ('closest_observation', ':', 'C2'), ('interpolated_inverted_cdf', '--', 'C1'), ('hazen', '--', 'C3'), ('weibull', '-.', 'C4'), ('median_unbiased', '--', 'C5'), ('normal_unbiased', '-.', 'C6'), ] for method, style, color in lines: ax.plot( p, np.percentile(a, p, method=method), label=method, linestyle=style, color=color) ax.set( title='Percentiles for different methods and data: ' + str(a), xlabel='Percentile', ylabel='Estimated percentile value', yticks=a) ax.legend() plt.show()3 và import matplotlib.pyplot as plt a = np.arange(4) p = np.linspace(0, 100, 6001) ax = plt.gca() lines = [ ('linear', '-', 'C0'), ('inverted_cdf', ':', 'C1'), # Almost the same as `inverted_cdf`: ('averaged_inverted_cdf', '-.', 'C1'), ('closest_observation', ':', 'C2'), ('interpolated_inverted_cdf', '--', 'C1'), ('hazen', '--', 'C3'), ('weibull', '-.', 'C4'), ('median_unbiased', '--', 'C5'), ('normal_unbiased', '-.', 'C6'), ] for method, style, color in lines: ax.plot( p, np.percentile(a, p, method=method), label=method, linestyle=style, color=color) ax.set( title='Percentiles for different methods and data: ' + str(a), xlabel='Percentile', ylabel='Estimated percentile value', yticks=a) ax.legend() plt.show()4 mà các lựa chọn của chúng phụ thuộc vào import matplotlib.pyplot as plt a = np.arange(4) p = np.linspace(0, 100, 6001) ax = plt.gca() lines = [ ('linear', '-', 'C0'), ('inverted_cdf', ':', 'C1'), # Almost the same as `inverted_cdf`: ('averaged_inverted_cdf', '-.', 'C1'), ('closest_observation', ':', 'C2'), ('interpolated_inverted_cdf', '--', 'C1'), ('hazen', '--', 'C3'), ('weibull', '-.', 'C4'), ('median_unbiased', '--', 'C5'), ('normal_unbiased', '-.', 'C6'), ] for method, style, color in lines: ax.plot( p, np.percentile(a, p, method=method), label=method, linestyle=style, color=color) ax.set( title='Percentiles for different methods and data: ' + str(a), xlabel='Percentile', ylabel='Estimated percentile value', yticks=a) ax.legend() plt.show()5 được sử dụng. Cuối cùng, lưu ý rằng vì Python sử dụng lập chỉ mục dựa trên 0, nên mã sẽ trừ 1 khác khỏi chỉ mục bên trong Công thức sau xác định chỉ số ảo >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)2, vị trí của phân vị trong mẫu được sắp xếp \[i + g = (q / 100) * ( n - alpha - beta + 1 ) + alpha\] Các phương pháp khác nhau sau đó hoạt động như sau inverted_cdfphương pháp 1 của H&F. Phương pháp này cho kết quả không liên tục
phương pháp 2 của H&F. 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. Phương pháp này cho kết quả không liên tục
phương pháp 4 của H&F. Phương pháp này cho kết quả liên tục bằng cách sử dụng
phương pháp 5 của H&F. Phương pháp này cho kết quả liên tục bằng cách sử dụng
phương pháp 6 của H&F. Phương pháp này cho kết quả liên tục bằng cách sử dụng
phương pháp 7 của H&F. Phương pháp này cho kết quả liên tục bằng cách sử dụng
phương pháp 8 của H&F. Phương pháp này có lẽ là phương pháp tốt nhất nếu hàm phân phối mẫu chưa biết (xem tài liệu tham khảo). Phương pháp này cho kết quả liên tục bằng cách sử dụng
phương pháp 9 của H&F. Phương pháp này có lẽ là phương pháp tốt nhất nếu biết hàm phân phối mẫu là chuẩn tắc. Phương pháp này cho kết quả liên tục bằng cách sử dụng
Phương thức NumPy được giữ để tương thích ngược. Lấy >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)0 làm điểm nội suycao hơn Phương thức NumPy được giữ để tương thích ngược. Lấy >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)4 làm điểm nội suygần nhất Phương thức NumPy được giữ để tương thích ngược. Mất >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)0 hoặc >>> b = a.copy() >>> np.percentile(b, 50, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a == b)4, tùy theo giá trị nào gần nhấttrung điểm Phương thức NumPy được giữ để tương thích ngược. Sử dụng Người giới thiệu [ 1 ] (,,,,,,,,,) R. J. Hyndman và Y. Fan, “Các phân vị mẫu trong các gói thống kê,” The American Statistician, 50(4), trang. 361-365, 1996 |