Hướng dẫn how do you round to multiple in python? - làm thế nào để bạn làm tròn thành nhiều số trong python?
mà cho Show
cho 8:
cho 9:
được thử nghiệm trong Python 3.7.9 Đó là kỷ nguyên của dữ liệu lớn và mỗi ngày ngày càng có nhiều doanh nghiệp cố gắng tận dụng dữ liệu của họ để đưa ra quyết định sáng suốt. Nhiều doanh nghiệp đang chuyển sang hệ sinh thái khoa học dữ liệu mạnh mẽ của Python, để phân tích dữ liệu của họ, bằng chứng là sự phổ biến ngày càng tăng của Python trong lĩnh vực khoa học dữ liệu. Một điều mà mọi người thực hành khoa học dữ liệu phải ghi nhớ là làm thế nào một bộ dữ liệu có thể bị sai lệch. Rút ra kết luận từ dữ liệu thiên vị có thể dẫn đến những sai lầm tốn kém. Có nhiều cách thiên vị có thể leo vào một bộ dữ liệu. Nếu bạn đã nghiên cứu một số số liệu thống kê, bạn có thể quen thuộc với các thuật ngữ như báo cáo sai lệch, sai lệch lựa chọn và thiên vị lấy mẫu. Có một loại thiên vị khác đóng vai trò quan trọng khi bạn đang xử lý dữ liệu số: Xu hướng làm tròn. Trong bài viết này, bạn sẽ học:
Bài viết này không phải là một chuyên luận về độ chính xác số trong điện toán, mặc dù chúng tôi sẽ liên lạc ngắn gọn về chủ đề này. Chỉ có sự quen thuộc với các nguyên tắc cơ bản của Python là cần thiết, và toán học liên quan ở đây sẽ cảm thấy thoải mái cho bất kỳ ai quen thuộc với tương đương với đại số trung học. Hãy bắt đầu bằng cách nhìn vào cơ chế làm tròn tích hợp Python. Chức năng >>> import random >>> random.seed(100) >>> for _ in range(1000000): ... randn = random.uniform(-0.05, 0.05) ... actual_value = actual_value + randn ... truncated_value = truncate(truncated_value + randn) ... >>> actual_value 96.45273913513529 >>> truncated_value 0.239 0 tích hợp của PythonPython có hàm 0 tích hợp có hai đối số số, 2 và 3 và trả về số 2 được làm tròn thành 3. Đối số 3 mặc định là 0, do đó, để lại kết quả trong một số được làm tròn cho một số nguyên. Như bạn thấy, 0 có thể không hoạt động như bạn mong đợi.Cách mà hầu hết mọi người được dạy để làm tròn một số đi một cái gì đó như thế này:
Nó là một thuật toán đơn giản! Ví dụ: số 2 được làm tròn đến số toàn bộ gần nhất là 3. Số 4 được làm tròn đến một vị trí thập phân là 5.Bây giờ hãy mở một phiên phiên dịch và vòng 2 đến số toàn bộ gần nhất bằng cách sử dụng chức năng 0 tích hợp của Python:Gasp! Làm thế nào để 0 xử lý số 9?Vì vậy, 0 vòng 9 lên đến 02 và 2 xuống 02!Trước khi bạn đưa ra một vấn đề trên trình theo dõi lỗi Python, hãy để tôi đảm bảo với bạn rằng 05 được cho là sẽ trả về 02. Có một lý do chính đáng tại sao 0 hành xử theo cách nó làm.Trong bài viết này, bạn sẽ học được rằng có nhiều cách để làm tròn một con số hơn bạn có thể mong đợi, mỗi cách có những ưu điểm và nhược điểm độc đáo. 0 hành xử theo một chiến lược làm tròn cụ thể mà có thể hoặc không phải là một trong những tình huống bạn cần cho một tình huống nhất định.Bạn có thể tự hỏi, có thể cách mà tôi có thể có những con số thực sự có nhiều tác động? Hãy cùng xem xét về việc các tác động của làm tròn có thể đến mức nào. Bao nhiêu tác động có thể làm tròn có?Giả sử bạn có một ngày vô cùng may mắn và tìm thấy 100 đô la trên mặt đất. Thay vì chi tiêu tất cả tiền của bạn cùng một lúc, bạn quyết định chơi thông minh và đầu tư tiền của bạn bằng cách mua một số cổ phiếu của các cổ phiếu khác nhau. Giá trị của một cổ phiếu phụ thuộc vào cung và cầu. Càng nhiều người muốn mua một cổ phiếu, càng có nhiều giá trị mà cổ phiếu có và ngược lại. Trong thị trường chứng khoán khối lượng lớn, giá trị của một cổ phiếu cụ thể có thể dao động trên cơ sở thứ hai. Hãy để chạy một thí nghiệm nhỏ. Chúng tôi sẽ giả vờ giá trị tổng thể của các cổ phiếu bạn đã mua dao động theo một số ngẫu nhiên nhỏ mỗi giây, giả sử từ 0,05 đến -0,05 đô la. Biến động này có thể không nhất thiết là một giá trị tốt đẹp chỉ với hai vị trí thập phân. Ví dụ: giá trị tổng thể có thể tăng thêm 0,031286 một giây và giảm giây tiếp theo bằng 0,028476. Bạn không muốn theo dõi giá trị của mình đến vị trí thập phân thứ năm hoặc thứ sáu, vì vậy bạn quyết định cắt giảm mọi thứ sau vị trí thập phân thứ ba. Trong biệt ngữ làm tròn, điều này được gọi là cắt số đến vị trí thập phân thứ ba. Có một số lỗi được mong đợi ở đây, nhưng bằng cách giữ ba vị trí thập phân, lỗi này không thể là đáng kể. Đúng?truncating the number to the third decimal place. There’s some error to be expected here, but by keeping three decimal places, this error couldn’t be substantial. Right? Để chạy thử nghiệm của chúng tôi bằng Python, hãy để bắt đầu bằng cách viết hàm 09 cắt ngắn một số xuống còn ba số thập phân:
>>>
Hàm 09 hoạt động bằng cách đầu tiên chuyển điểm thập phân trong số 2 ba vị trí bên phải bằng cách nhân 2 với 13. Phần số nguyên của số mới này được thực hiện với 14. Cuối cùng, điểm thập phân được thay đổi ba vị trí sang trái bằng cách chia 2 cho 13.Tiếp theo, hãy để xác định các tham số ban đầu của mô phỏng. Bạn sẽ cần hai biến: một để theo dõi giá trị thực tế của cổ phiếu của bạn sau khi mô phỏng hoàn tất và một biến cho giá trị của cổ phiếu của bạn sau khi bạn đã cắt giảm ba vị trí thập phân ở mỗi bước. Bắt đầu bằng cách khởi tạo các biến này thành 17:>>>
Hàm 09 hoạt động bằng cách đầu tiên chuyển điểm thập phân trong số 2 ba vị trí bên phải bằng cách nhân 2 với 13. Phần số nguyên của số mới này được thực hiện với 14. Cuối cùng, điểm thập phân được thay đổi ba vị trí sang trái bằng cách chia 2 cho 13.>>>
Hàm 09 hoạt động bằng cách đầu tiên chuyển điểm thập phân trong số 2 ba vị trí bên phải bằng cách nhân 2 với 13. Phần số nguyên của số mới này được thực hiện với 14. Cuối cùng, điểm thập phân được thay đổi ba vị trí sang trái bằng cách chia 2 cho 13.Tiếp theo, hãy để xác định các tham số ban đầu của mô phỏng. Bạn sẽ cần hai biến: một để theo dõi giá trị thực tế của cổ phiếu của bạn sau khi mô phỏng hoàn tất và một biến cho giá trị của cổ phiếu của bạn sau khi bạn đã cắt giảm ba vị trí thập phân ở mỗi bước. Bắt đầu bằng cách khởi tạo các biến này thành 17:Bây giờ, hãy để Lôi chạy mô phỏng trong 1.000.000 giây (khoảng 11,5 ngày). Với mỗi giây, tạo một giá trị ngẫu nhiên giữa 18 và 19 với hàm 20 trong mô -đun 21, sau đó cập nhật 22 và 23:>>>
Hàm 09 hoạt động bằng cách đầu tiên chuyển điểm thập phân trong số 2 ba vị trí bên phải bằng cách nhân 2 với 13. Phần số nguyên của số mới này được thực hiện với 14. Cuối cùng, điểm thập phân được thay đổi ba vị trí sang trái bằng cách chia 2 cho 13.Tiếp theo, hãy để xác định các tham số ban đầu của mô phỏng. Bạn sẽ cần hai biến: một để theo dõi giá trị thực tế của cổ phiếu của bạn sau khi mô phỏng hoàn tất và một biến cho giá trị của cổ phiếu của bạn sau khi bạn đã cắt giảm ba vị trí thập phân ở mỗi bước. Bắt đầu bằng cách khởi tạo các biến này thành 17:Một người đàn ông của các phương phápCó rất nhiều chiến lược làm tròn, mỗi chiến lược đều có ưu điểm và nhược điểm. Trong phần này, bạn sẽ tìm hiểu về một số kỹ thuật phổ biến nhất và cách chúng có thể ảnh hưởng đến dữ liệu của bạn. Cắt ngắnPhương pháp đơn giản nhất, mặc dù nhất định, để làm tròn một số là cắt số số thành một số chữ số nhất định. Khi bạn cắt một số, bạn thay thế từng chữ số sau một vị trí nhất định bằng 0. Dưới đây là một số ví dụ:
Bạn đã thấy một cách để thực hiện điều này trong hàm 09 từ mức độ ảnh hưởng của việc làm tròn? tiết diện. Trong chức năng đó, số đầu vào đã bị cắt giảm thành ba số thập phân bởi:
Bạn có thể khái quát quy trình này bằng cách thay thế 13 bằng số 10ᵖ ( 49 được nâng lên công suất PTH), trong đó p là số lượng vị trí thập phân để cắt ngắn đến:
Trong phiên bản này của 09, đối số thứ hai mặc định là 26 để nếu không có đối số thứ hai được chuyển cho hàm, thì 09 sẽ trả về phần số nguyên của bất kỳ số nào được truyền cho nó.Hàm 09 hoạt động tốt cho cả số dương và số âm:>>> 0Bạn thậm chí có thể chuyển một số âm cho 54 để cắt ngắn thành các chữ số ở bên trái của dấu thập phân:>>> 1Bạn thậm chí có thể chuyển một số âm cho 54 để cắt ngắn thành các chữ số ở bên trái của dấu thập phân:Khi bạn cắt ngắn một số dương, bạn đang làm tròn nó xuống. Tương tự như vậy, cắt ngắn một số âm tròn số đó lên. Theo một nghĩa nào đó, cắt ngắn là sự kết hợp của các phương pháp làm tròn tùy thuộc vào dấu hiệu của số bạn đang làm tròn. Hãy cùng xem từng phương pháp làm tròn này một cách riêng lẻ, bắt đầu bằng cách làm tròn.Tập trung
Bạn đã thấy một cách để thực hiện điều này trong hàm 09 từ mức độ ảnh hưởng của việc làm tròn? tiết diện. Trong chức năng đó, số đầu vào đã bị cắt giảm thành ba số thập phân bởi:Nhân số lượng với 13 để thay đổi số thập phân ba vị trí sang bên phảiLấy phần số nguyên của số mới đó với 14Chuyển vị trí thập phân ba vị trí trở lại bên trái bằng cách chia cho 13ceiling function maps every number to its ceiling. To allow the ceiling function
to accept integers, the ceiling of an integer is defined to be the integer itself. So the ceiling of the number 02 is 02.Bạn có thể khái quát quy trình này bằng cách thay thế 13 bằng số 10ᵖ ( 49 được nâng lên công suất PTH), trong đó p là số lượng vị trí thập phân để cắt ngắn đến:>>> 2Bạn thậm chí có thể chuyển một số âm cho 54 để cắt ngắn thành các chữ số ở bên trái của dấu thập phân:Khi bạn cắt ngắn một số dương, bạn đang làm tròn nó xuống. Tương tự như vậy, cắt ngắn một số âm tròn số đó lên. Theo một nghĩa nào đó, cắt ngắn là sự kết hợp của các phương pháp làm tròn tùy thuộc vào dấu hiệu của số bạn đang làm tròn. 3Hãy cùng xem từng phương pháp làm tròn này một cách riêng lẻ, bắt đầu bằng cách làm tròn. Tập trung Chiến lược làm tròn thứ hai mà chúng tôi sẽ xem xét được gọi là làm tròn. Chiến lược này luôn làm tròn một số lên đến một số chữ số cụ thể. Bảng sau đây tóm tắt chiến lược này: >>> 4Bạn thậm chí có thể chuyển một số âm cho 54 để cắt ngắn thành các chữ số ở bên trái của dấu thập phân:>>> 5Bạn thậm chí có thể chuyển một số âm cho 54 để cắt ngắn thành các chữ số ở bên trái của dấu thập phân:Hãy đoán xem những gì 87 trả về:>>> 6Có phải 88 những gì bạn mong đợi?Nếu bạn kiểm tra logic được sử dụng trong việc xác định ________ 174, cụ thể, cách hàm 67 hoạt động thì điều đó có ý nghĩa rằng 87 trả về 88. Tuy nhiên, một số người tự nhiên mong đợi tính đối xứng xung quanh số 0 khi làm tròn các số, do đó nếu 9 được làm tròn lên đến 02, thì 95 sẽ được làm tròn lên đến 96.Hãy để thiết lập một số thuật ngữ. Đối với các mục đích của chúng tôi, chúng tôi sẽ sử dụng các thuật ngữ làm tròn lên và các vòng tròn xuống theo sơ đồ sau: Làm tròn luôn làm tròn một số vào bên phải trên dòng số và làm tròn xuống luôn làm tròn một số vào bên trái trên dòng số. Làm tròn xuốngĐối tác của nhóm làm tròn lên trên mạng là chiến lược làm tròn của người Viking, luôn làm tròn một số xuống một số chữ số được chỉ định. Dưới đây là một số ví dụ minh họa chiến lược này:
Để thực hiện chiến lược làm tròn xuống của người Viking trong Python, chúng ta có thể tuân theo cùng một thuật toán mà chúng tôi đã sử dụng cho cả 97 và 74. Đầu tiên chuyển điểm thập phân, sau đó làm tròn sang một số nguyên, và cuối cùng thay đổi dấu thập phân trở lại.Trong 74, chúng tôi đã sử dụng 67 để làm tròn lên trần của số sau khi chuyển điểm thập phân. Tuy nhiên, đối với chiến lược làm tròn xuống của người Viking, chúng ta cần làm tròn lên sàn của số sau khi chuyển điểm thập phân.May mắn cho chúng tôi, mô -đun 56 có chức năng 02 trả về sàn của đầu vào của nó:>>> 7Ở đây, định nghĩa của 03: 8Trông giống như 74, ngoại trừ 67 đã được thay thế bằng 06.Bạn có thể kiểm tra 03 trên một vài giá trị khác nhau:>>> 9Những ảnh hưởng của 74 và 03 có thể khá cực đoan. Bằng cách làm tròn các số trong một bộ dữ liệu lớn lên hoặc xuống, bạn có khả năng loại bỏ một tấn độ chính xác và thay đổi mạnh mẽ các tính toán được tạo từ dữ liệu.Trước khi chúng tôi thảo luận về bất kỳ chiến lược làm tròn nào nữa, hãy để dừng lại và dành một chút thời gian để nói về cách làm tròn có thể làm cho dữ liệu của bạn bị sai lệch. Interlude: Bias làm trònBây giờ bạn đã thấy ba phương pháp làm tròn: 09, 74 và 03. Tất cả ba kỹ thuật này đều khá thô khi bảo tồn một lượng chính xác hợp lý cho một số nhất định.Có một sự khác biệt quan trọng giữa 09 và 74 và 03 làm nổi bật một khía cạnh quan trọng của làm tròn: đối xứng xung quanh 0.Hãy nhớ lại rằng 74 isn đối xứng xung quanh số không. Theo thuật ngữ toán học, một hàm f (x) đối xứng xung quanh 0 nếu, đối với bất kỳ giá trị nào của x, f (x) + f (-x) = 0. Ví dụ, 17 trả về 02, nhưng 87 trả về 70. Hàm 03 cũng không đối xứng khoảng 0.Mặt khác, hàm 09 là đối xứng xung quanh 0. Điều này là bởi vì, sau khi chuyển điểm thập phân sang bên phải, 09 cắt các chữ số còn lại. Khi giá trị ban đầu là dương, số tiền này sẽ làm tròn số xuống. Số âm được làm tròn lên. Vì vậy, 24 trả về 59 và 26 trả về 70.Khái niệm đối xứng giới thiệu khái niệm về độ lệch làm tròn, mô tả cách làm tròn ảnh hưởng đến dữ liệu số trong bộ dữ liệu.rounding bias, which describes how rounding affects numeric data in a dataset. Chiến lược làm tròn của người Viking có một vòng hướng tới sự thiên vị vô cực tích cực, bởi vì giá trị luôn được làm tròn theo hướng vô cực tích cực. Tương tự như vậy, chiến lược làm tròn xuống của người Viking có một vòng đối với sự thiên vị vô cực tiêu cực.round towards positive infinity bias, because the value is always rounded up in the direction of positive infinity. Likewise, the “rounding down” strategy has a round towards negative infinity bias. Chiến lược cắt ngắn của người Viking thể hiện một vòng hướng tới sự thiên vị vô cực tiêu cực đối với các giá trị dương và một vòng hướng tới vô cực dương cho các giá trị âm. Các chức năng làm tròn với hành vi này được cho là có một vòng về phía không thiên vị, nói chung.round towards zero bias, in general. Hãy để xem cách thức hoạt động của nó trong thực tế. Hãy xem xét danh sách các phao sau: >>> 0Hãy để tính toán giá trị trung bình của các giá trị trong 28 bằng cách sử dụng hàm 29:>>> 1Bây giờ áp dụng từng 74, 03 và 09 trong danh sách hiểu để làm tròn từng số trong 28 đến một vị trí thập phân và tính giá trị trung bình mới:>>> 2Sau khi mỗi số trong 28 được làm tròn, giá trị trung bình mới là khoảng 35, lớn hơn giá trị trung bình thực tế của 36. Làm tròn xuống dịch chuyển trung bình xuống khoảng 37. Giá trị trung bình của các giá trị bị cắt là khoảng 38 và là giá trị gần nhất với giá trị trung bình thực tế.Ví dụ này không ngụ ý rằng bạn nên luôn luôn cắt ngắn khi bạn cần làm tròn các giá trị riêng lẻ trong khi bảo tồn giá trị trung bình càng gần càng tốt. Danh sách 28 chứa số lượng giá trị dương và âm bằng nhau. Hàm 09 sẽ hoạt động giống như 74 trên danh sách tất cả các giá trị dương và giống như 03 trên danh sách tất cả các giá trị âm.Những gì ví dụ này minh họa là độ lệch làm tròn hiệu ứng có trên các giá trị được tính toán từ dữ liệu đã được làm tròn. Bạn sẽ cần phải ghi nhớ những hiệu ứng này khi rút ra kết luận từ dữ liệu đã được làm tròn. Thông thường, khi làm tròn, bạn quan tâm đến việc làm tròn đến số gần nhất với một số độ chính xác được chỉ định, thay vì chỉ làm tròn mọi thứ lên hoặc xuống. Ví dụ: nếu ai đó yêu cầu bạn làm tròn các số 43 và 44 cho một vị trí thập phân, có lẽ bạn sẽ phản hồi nhanh chóng với 58 và 46. Các chức năng 09, 74 và 03 don don làm bất cứ điều gì như thế này.Còn số 50 thì sao? Bạn có thể nghĩ ngay lập tức để làm tròn điều này đến 46, nhưng trong thực tế, 50 là tương đương từ 58 và 46. Theo một nghĩa nào đó, 58 và 46 đều là những con số gần nhất đến 50 với độ chính xác của số thập phân. Số 50 được gọi là cà vạt liên quan đến 58 và 46. Trong các trường hợp như thế này, bạn phải chỉ định một kẻ phá vỡ.tie with respect to 58 and 46. In cases like this, you must
assign a tiebreaker.Cách mà hầu hết mọi người được dạy về mối quan hệ phá vỡ là bằng cách làm tròn đến các số lớn hơn của hai con số có thể. Làm tròn một nửa lênChiến lược làm tròn một nửa của người Viking lên từng số vào số gần nhất với độ chính xác được chỉ định và phá vỡ các mối quan hệ bằng cách làm tròn. Dưới đây là một số ví dụ:
Để thực hiện chiến lược nửa vòng tròn của người Viking trong Python, bạn bắt đầu như thường lệ bằng cách chuyển điểm thập phân sang bên phải bởi số lượng địa điểm mong muốn. Tuy nhiên, tại thời điểm này, bạn cần một cách để xác định xem chữ số ngay sau điểm thập phân thay đổi nhỏ hơn hoặc lớn hơn hoặc bằng 61.Một cách để làm điều này là thêm 62 vào giá trị đã thay đổi và sau đó làm tròn với 06. Điều này hoạt động bởi vì:
Ở đây, những gì nó trông giống như trong Python: 3Lưu ý rằng 68 trông rất giống 03. Điều này có thể có phần phản trực giác, nhưng bên trong 68 chỉ làm tròn xuống. Bí quyết là thêm 62 sau khi chuyển điểm thập phân để kết quả làm tròn xuống phù hợp với giá trị dự kiến.Hãy để thử nghiệm 68 trên một vài giá trị để thấy rằng nó hoạt động:>>> 4Vì 68 luôn phá vỡ các mối quan hệ bằng cách làm tròn đến các giá trị lớn hơn của hai giá trị có thể, các giá trị âm như 95 tròn đến 70, không phải là 96:>>> 5Vì 68 luôn phá vỡ các mối quan hệ bằng cách làm tròn đến các giá trị lớn hơn của hai giá trị có thể, các giá trị âm như 95 tròn đến 70, không phải là 96:>>> 6Vì 68 luôn phá vỡ các mối quan hệ bằng cách làm tròn đến các giá trị lớn hơn của hai giá trị có thể, các giá trị âm như 95 tròn đến 70, không phải là 96:>>> 7Vì 68 luôn phá vỡ các mối quan hệ bằng cách làm tròn đến các giá trị lớn hơn của hai giá trị có thể, các giá trị âm như 95 tròn đến 70, không phải là 96:Tuyệt quá! Bây giờ bạn cuối cùng có thể nhận được kết quả đó rằng chức năng 0 tích hợp từ chối cho bạn:Mặc dù trước khi bạn quá phấn khích, hãy để xem điều gì xảy ra khi bạn cố gắng và làm tròn 78 đến 02 Số thập phân:>>> 8Vì 68 luôn phá vỡ các mối quan hệ bằng cách làm tròn đến các giá trị lớn hơn của hai giá trị có thể, các giá trị âm như 95 tròn đến 70, không phải là 96:>>> 9Vì 68 luôn phá vỡ các mối quan hệ bằng cách làm tròn đến các giá trị lớn hơn của hai giá trị có thể, các giá trị âm như 95 tròn đến 70, không phải là 96:Tuyệt quá! Bây giờ bạn cuối cùng có thể nhận được kết quả đó rằng chức năng 0 tích hợp từ chối cho bạn:Thực tế là Python nói rằng 01 là 02 là một tạo tác của lỗi biểu diễn dấu phẩy động. Bạn có thể tự hỏi mình, được rồi, nhưng có cách nào để khắc phục điều này không? Một câu hỏi hay hơn để tự hỏi mình là "Tôi có cần sửa cái này không?"Các số điểm nổi không có độ chính xác chính xác, và do đó không nên được sử dụng trong các tình huống trong đó độ chính xác là tối quan trọng. Đối với các ứng dụng có độ chính xác chính xác là cần thiết, bạn có thể sử dụng lớp 05 từ mô -đun PythonTHER 06. Bạn sẽ tìm hiểu thêm về lớp 05 dưới đây.should not be used in situations where precision is paramount. For applications where the exact precision is necessary, you can use the 05 class from Python’s 06 module. You’ll learn more about the 05 class below.Nếu bạn đã xác định rằng lớp 08 tiêu chuẩn của Python là đủ cho ứng dụng của bạn, một số lỗi không thường xuyên trong 68 do lỗi biểu diễn điểm nổi nên là một mối quan tâm.Bây giờ, bạn đã nhận được một hương vị về cách các số máy tròn trong bộ nhớ, hãy để tiếp tục thảo luận về các chiến lược làm tròn bằng cách nhìn vào một cách khác để phá vỡ một chiếc cà vạt. Làm tròn một nửa xuốngChiến lược làm tròn một nửa xuống, các vòng tròn với số gần nhất với độ chính xác mong muốn, giống như phương pháp làm tròn một nửa lên, ngoại trừ việc nó phá vỡ mối quan hệ bằng cách làm tròn vào số ít hơn trong hai số. Dưới đây là một số ví dụ:
Bạn có thể thực hiện chiến lược nửa làm tròn xuống trong Python bằng cách thay thế 06 trong hàm 68 bằng 67 và trừ 62 thay vì thêm: thêm: 0Hãy để kiểm tra 14 so với một vài trường hợp thử nghiệm:>>> 1Cả 68 và 14 không có sai lệch nói chung. Tuy nhiên, việc làm tròn dữ liệu với rất nhiều mối quan hệ sẽ giới thiệu sự thiên vị. Ví dụ cực đoan, hãy xem xét danh sách các số sau:>>> 2Cả 68 và 14 không có sai lệch nói chung. Tuy nhiên, việc làm tròn dữ liệu với rất nhiều mối quan hệ sẽ giới thiệu sự thiên vị. Ví dụ cực đoan, hãy xem xét danh sách các số sau:>>> 3Cả 68 và 14 không có sai lệch nói chung. Tuy nhiên, việc làm tròn dữ liệu với rất nhiều mối quan hệ sẽ giới thiệu sự thiên vị. Ví dụ cực đoan, hãy xem xét danh sách các số sau:>>> 4Cả 68 và 14 không có sai lệch nói chung. Tuy nhiên, việc làm tròn dữ liệu với rất nhiều mối quan hệ sẽ giới thiệu sự thiên vị. Ví dụ cực đoan, hãy xem xét danh sách các số sau:Hãy để tính toán giá trị trung bình của các số sau: Tiếp theo, tính toán giá trị trung bình trên dữ liệu sau khi làm tròn đến một vị trí thập phân với >>> [round_down_to_base(x=i, base=5) for i in range(20)] [0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15] >>> [round_up_to_base(x=i, base=5) for i in range(20)] [0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 20, 20, 20, 20] 68 và >>> [i for i in range(20)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 14:Mỗi số trong 28 là một sự ràng buộc liên quan đến việc làm tròn đến một vị trí thập phân. Hàm 68 giới thiệu một vòng hướng tới sai lệch vô cực dương và 14 giới thiệu một vòng hướng tới sai lệch vô cực tiêu cực.>>> 5Cả 68 và 14 không có sai lệch nói chung. Tuy nhiên, việc làm tròn dữ liệu với rất nhiều mối quan hệ sẽ giới thiệu sự thiên vị. Ví dụ cực đoan, hãy xem xét danh sách các số sau:
Vị trí hàng trăm
Hãy để tính toán giá trị trung bình của các số sau: Tiếp theo, tính toán giá trị trung bình trên dữ liệu sau khi làm tròn đến một vị trí thập phân với 68 và 14: 6Mỗi số trong 28 là một sự ràng buộc liên quan đến việc làm tròn đến một vị trí thập phân. Hàm 68 giới thiệu một vòng hướng tới sai lệch vô cực dương và 14 giới thiệu một vòng hướng tới sai lệch vô cực tiêu cực.Các chiến lược làm tròn còn lại mà chúng tôi sẽ thảo luận về tất cả các nỗ lực để giảm thiểu những thành kiến này theo những cách khác nhau. Làm tròn một nửa so với số không >>> 7Cả 68 và 14 không có sai lệch nói chung. Tuy nhiên, việc làm tròn dữ liệu với rất nhiều mối quan hệ sẽ giới thiệu sự thiên vị. Ví dụ cực đoan, hãy xem xét danh sách các số sau:Hãy để tính toán giá trị trung bình của các số sau: 8Tiếp theo, tính toán giá trị trung bình trên dữ liệu sau khi làm tròn đến một vị trí thập phân với 68 và 14:Mỗi số trong 28 là một sự ràng buộc liên quan đến việc làm tròn đến một vị trí thập phân. Hàm 68 giới thiệu một vòng hướng tới sai lệch vô cực dương và 14 giới thiệu một vòng hướng tới sai lệch vô cực tiêu cực.>>> 9Hàm 53 làm tròn số theo cách mà hầu hết mọi người có xu hướng tròn số trong cuộc sống hàng ngày. Bên cạnh đó là chức năng làm tròn quen thuộc nhất mà bạn đã thấy cho đến nay, 53 cũng loại bỏ các độ lệch tròn trong các bộ dữ liệu có số lượng tương đương các mối quan hệ tích cực và tiêu cực.Hãy để kiểm tra mức độ 53 giảm thiểu sai lệch làm tròn trong ví dụ từ phần trước:>>> 0Giá trị trung bình của các số trong 28 được bảo tồn gần như chính xác khi bạn làm tròn từng số trong 28 đến một vị trí thập phân với 53!Tuy nhiên, 53 sẽ thể hiện sự thiên vị làm tròn khi bạn làm tròn mọi số trong các bộ dữ liệu chỉ có mối quan hệ tích cực, chỉ có mối quan hệ tiêu cực hoặc nhiều mối quan hệ của một dấu hiệu hơn giá trị kia. Sự thiên vị chỉ được giảm thiểu tốt nếu có một số lượng tương tự các mối quan hệ tích cực và tiêu cực trong bộ dữ liệu.Làm thế nào để bạn xử lý các tình huống trong đó số lượng mối quan hệ tích cực và tiêu cực khác nhau đáng kể? Câu trả lời cho câu hỏi này đưa chúng ta đến vòng tròn đầy đủ cho chức năng đã lừa dối chúng ta khi bắt đầu bài viết này: Chức năng 0 tích hợp của Python.Làm tròn một nửa để thậm chíMột cách để giảm thiểu độ lệch làm tròn khi làm tròn các giá trị trong bộ dữ liệu là các mối quan hệ tròn đến số gần nhất ở độ chính xác mong muốn. Dưới đây là một số ví dụ về cách làm điều đó:
Một nửa làm tròn cho chiến lược thậm chí là chiến lược được sử dụng bởi chức năng 0 tích hợp của Python và là quy tắc làm tròn mặc định trong tiêu chuẩn IEEE-754. Chiến lược này hoạt động theo giả định rằng xác suất của một sự ràng buộc trong bộ dữ liệu được làm tròn hoặc làm tròn lên bằng nhau. Trong thực tế, đây thường là trường hợp.Bây giờ bạn biết tại sao 05 trả về 02. Nó không phải là một sai lầm. Đó là một quyết định thiết kế có ý thức dựa trên các khuyến nghị vững chắc.Để chứng minh cho chính mình rằng 0 thực sự làm tròn để thậm chí, hãy thử nó trên một vài giá trị khác nhau:>>> 1Hàm 0 gần như không có sai lệch, nhưng nó không hoàn hảo. Ví dụ, độ lệch làm tròn vẫn có thể được giới thiệu nếu phần lớn các mối quan hệ trong bộ dữ liệu của bạn làm tròn lên đến ngay cả thay vì làm tròn xuống. Các chiến lược giảm thiểu sự thiên vị thậm chí còn tốt hơn so với một nửa làm tròn với thậm chí còn tồn tại, nhưng chúng có phần mơ hồ và chỉ cần thiết trong hoàn cảnh khắc nghiệt.Cuối cùng, 0 bị trục trặc tương tự mà bạn đã thấy trong 68 nhờ lỗi biểu diễn điểm nổi:>>> 2Bạn không nên quan tâm đến những lỗi không thường xuyên này nếu độ chính xác điểm nổi là đủ cho ứng dụng của bạn. Khi độ chính xác là tối quan trọng, bạn nên sử dụng lớp Python từ ____305. Lớp >>> [i for i in range(20)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 05Mô-đun thập phân Python sườn là một trong những tính năng bao gồm các loại pin của các ngôn ngữ mà bạn có thể không biết nếu bạn mới sử dụng Python. Nguyên tắc hướng dẫn của mô -đun 06 có thể được tìm thấy trong tài liệu:
Những lợi ích của mô -đun 06 bao gồm:
Hãy cùng khám phá cách làm việc làm tròn hoạt động trong mô -đun 06. Bắt đầu bằng cách nhập phần sau vào Python Repls:>>> 3 90 Trả về một đối tượng 91 đại diện cho bối cảnh mặc định của mô -đun 06. Bối cảnh bao gồm độ chính xác mặc định và chiến lược làm tròn mặc định, trong số những thứ khác.Như bạn có thể thấy trong ví dụ trên, chiến lược làm tròn mặc định cho mô -đun 06 là 94. Điều này phù hợp với chức năng 0 tích hợp và phải là chiến lược làm tròn ưa thích cho hầu hết các mục đích.Hãy cùng khai báo một số bằng cách sử dụng lớp 06 05. Để làm như vậy, hãy tạo một thể hiện 05 mới bằng cách chuyển 99 chứa giá trị mong muốn:>>> 4Chỉ để giải trí, hãy để thử nghiệm khẳng định rằng 05 duy trì biểu diễn thập phân chính xác:>>> 5Ahhh. Điều đó thỏa mãn, phải không? Làm tròn một 05 được thực hiện với phương pháp 02:>>> 6Được rồi, có lẽ trông hơi vui, vì vậy hãy để điều đó phá vỡ điều đó. Đối số 03 trong 02 xác định số lượng vị trí thập phân để làm tròn số. Vì 05 có một vị trí thập phân, số 06 vòng đến một vị trí thập phân duy nhất. Chiến lược làm tròn mặc định là một nửa làm tròn đến một nửa, vì vậy kết quả là 5.Hãy nhớ lại rằng hàm 0, cũng sử dụng một nửa làm tròn cho chiến lược, đã không chính xác cho vòng 09 đến hai thập phân. Thay vì 10, 11 trả về 12. Nhờ các mô -đun 06 đại diện thập phân chính xác, bạn đã giành được vấn đề này với lớp 05:>>> 7Một lợi ích khác của mô -đun 06 là làm tròn sau khi thực hiện số học được chăm sóc tự động và các chữ số quan trọng được bảo tồn. Để xem điều này trong hành động, hãy để thay đổi độ chính xác mặc định từ hai mươi tám chữ số thành hai, sau đó thêm các số 43 và 17:
>>> 8Để thay đổi độ chính xác, bạn gọi 90 và đặt thuộc tính 19. Nếu đặt thuộc tính trên một cuộc gọi hàm có vẻ kỳ lạ với bạn, bạn có thể làm điều này bởi vì 20 trả về một đối tượng 91 đặc biệt đại diện cho bối cảnh nội bộ hiện tại chứa các tham số mặc định được sử dụng bởi mô -đun 06.Giá trị chính xác của 43 cộng với 17 là 25. Vì độ chính xác hiện là hai chữ số và chiến lược làm tròn được đặt thành mặc định là một nửa làm tròn thành chẵn, nên giá trị 25 được tự động làm tròn thành 27.Để thay đổi chiến lược làm tròn mặc định, bạn có thể đặt thuộc tính 28 thành bất kỳ một trong nhiều cờ. Bảng sau đây tóm tắt các cờ này và chiến lược làm tròn mà họ thực hiện:
Điều đầu tiên cần chú ý là sơ đồ đặt tên được sử dụng bởi mô -đun 06 khác với những gì chúng tôi đã đồng ý trước đó trong bài viết. Ví dụ, 32 thực hiện các vòng tròn từ chiến lược không có, thực sự làm tròn các số âm.Thứ hai, một số chiến lược làm tròn được đề cập trong bảng có thể trông không quen thuộc kể từ khi chúng ta đã thảo luận về chúng. Bạn đã thấy cách 35 hoạt động, vì vậy, hãy để xem xét từng người khác trong hành động.Chiến lược 29 hoạt động giống như hàm 74 mà chúng tôi đã xác định trước đó:>>> 9Lưu ý rằng kết quả của 29 không đối xứng xung quanh 0.Chiến lược 30 hoạt động giống như hàm 03 của chúng tôi:>>> 0Giống như 29, chiến lược 30 không đối xứng xung quanh 0.Các chiến lược 31 và 32 có những cái tên lừa đảo có phần. Cả 49 và 50 đều đối xứng xung quanh 0:>>> 1Chiến lược 31 làm tròn các số về 0, giống như hàm 09. Mặt khác, 32 làm tròn mọi thứ từ số không. Đây là một sự phá vỡ rõ ràng từ thuật ngữ mà chúng tôi đã đồng ý trước đó trong bài viết, vì vậy hãy ghi nhớ điều đó khi bạn đang làm việc với mô -đun 06.Có ba chiến lược trong mô -đun 06 cho phép làm tròn nhiều sắc thái hơn. Phương pháp 33 làm tròn mọi thứ theo số gần nhất và phá vỡ mối quan hệ bằng cách làm tròn từ số không:>>> 2Lưu ý rằng 33 hoạt động giống như 53 của chúng tôi và không thích 68.Ngoài ra còn có một chiến lược 34 phá vỡ mối quan hệ bằng cách làm tròn về 0:>>> 3Chiến lược làm tròn cuối cùng có sẵn trong mô -đun 06 rất khác với bất cứ điều gì chúng ta đã thấy cho đến nay:>>> 4Trong các ví dụ trên, có vẻ như 36 làm tròn mọi thứ về 0. Trên thực tế, đây chính xác là cách 36 hoạt động, trừ khi kết quả của việc làm tròn kết thúc trong một 26 hoặc 61. Trong trường hợp đó, số được làm tròn khỏi số không:>>> 5Trong ví dụ đầu tiên, số 66 lần đầu tiên được làm tròn về 0 ở vị trí thập phân thứ hai, tạo ra 67. Vì 67 không kết thúc trong một 26 hoặc 61, nên nó được để lại như vậy. Mặt khác, 71 được làm tròn về 0 ở vị trí thập phân thứ hai, dẫn đến số 9. Điều này kết thúc trong một 61, vì vậy vị trí thập phân đầu tiên sau đó được làm tròn từ số 0 đến 5.Trong phần này, chúng tôi chỉ tập trung vào các khía cạnh làm tròn của mô -đun 06. Có một số lượng lớn các tính năng khác làm cho 06 trở thành một lựa chọn tuyệt vời cho các ứng dụng trong đó độ chính xác dấu phẩy động tiêu chuẩn là không đủ, chẳng hạn như ngân hàng và một số vấn đề trong điện toán khoa học.Để biết thêm thông tin về 05, hãy xem hướng dẫn bắt đầu nhanh trong các tài liệu Python.Tiếp theo, hãy để chúng tôi chú ý sang hai mặt hàng chủ lực của các ngăn xếp khoa học và máy tính khoa học Python,: Numpy và Pandas. Làm tròn mảng numpyTrong các lĩnh vực của khoa học dữ liệu và điện toán khoa học, bạn thường lưu trữ dữ liệu của mình dưới dạng 78. Một trong những tính năng mạnh mẽ nhất của Numpy, là việc sử dụng vector hóa và phát sóng để áp dụng các hoạt động cho toàn bộ mảng cùng một lúc thay vì một yếu tố tại một thời điểm.Hãy để tạo ra một số dữ liệu bằng cách tạo một mảng số giả ngẫu nhiên 3 × 4: >>> 6Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.Để làm tròn tất cả các giá trị trong mảng 28, bạn có thể chuyển 28 làm đối số cho hàm 83. Số lượng vị trí thập phân mong muốn được đặt với đối số từ khóa 54. Một nửa vòng cho chiến lược thậm chí được sử dụng, giống như chức năng 0 tích hợp của Python.Ví dụ: các vòng sau tất cả các giá trị trong 28 đến ba số thập phân:>>> 7Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.Để làm tròn tất cả các giá trị trong mảng 28, bạn có thể chuyển 28 làm đối số cho hàm 83. Số lượng vị trí thập phân mong muốn được đặt với đối số từ khóa 54. Một nửa vòng cho chiến lược thậm chí được sử dụng, giống như chức năng 0 tích hợp của Python.Ví dụ: các vòng sau tất cả các giá trị trong 28 đến ba số thập phân:
83 là sự thương xót của lỗi biểu diễn dấu phẩy động, giống như 0 là.>>> 8Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.
Để làm tròn tất cả các giá trị trong mảng 28, bạn có thể chuyển 28 làm đối số cho hàm 83. Số lượng vị trí thập phân mong muốn được đặt với đối số từ khóa 54. Một nửa vòng cho chiến lược thậm chí được sử dụng, giống như chức năng 0 tích hợp của Python.
83 là sự thương xót của lỗi biểu diễn dấu phẩy động, giống như 0 là.>>> 9Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.>>> 0Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.>>> 1Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80. 2Để làm tròn tất cả các giá trị trong mảng 28, bạn có thể chuyển 28 làm đối số cho hàm 83. Số lượng vị trí thập phân mong muốn được đặt với đối số từ khóa 54. Một nửa vòng cho chiến lược thậm chí được sử dụng, giống như chức năng 0 tích hợp của Python.>>> 3Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.Để làm tròn tất cả các giá trị trong mảng >>> [round_down_to_base(x=i, base=5) for i in range(20)] [0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15] >>> [round_up_to_base(x=i, base=5) for i in range(20)] [0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 20, 20, 20, 20] 28, bạn có thể chuyển >>> [round_down_to_base(x=i, base=5) for i in range(20)] [0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15] >>> [round_up_to_base(x=i, base=5) for i in range(20)] [0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 20, 20, 20, 20] 28 làm đối số cho hàm >>> [round_down_to_base(x=i, base=10) for i in range(20)] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] >>> [round_up_to_base(x=i, base=10) for i in range(20)] [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20] 83. Số lượng vị trí thập phân mong muốn được đặt với đối số từ khóa >>> [i for i in range(20)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 54. Một nửa vòng cho chiến lược thậm chí được sử dụng, giống như chức năng >>> import random >>> random.seed(100) >>> for _ in range(1000000): ... randn = random.uniform(-0.05, 0.05) ... actual_value = actual_value + randn ... truncated_value = truncate(truncated_value + randn) ... >>> actual_value 96.45273913513529 >>> truncated_value 0.239 0 tích hợp của Python.Ví dụ: các vòng sau tất cả các giá trị trong 28 đến ba số thập phân:83 là sự thương xót của lỗi biểu diễn dấu phẩy động, giống như Ví dụ: giá trị trong hàng thứ ba của cột đầu tiên trong mảng 28 là 90. Khi bạn làm tròn số này đến ba vị trí thập phân bằng cách sử dụng một nửa làm tròn cho chiến lược thậm chí là, bạn mong đợi giá trị sẽ là 91. Nhưng bạn có thể thấy trong đầu ra từ 83 rằng giá trị được làm tròn thành 93. Tuy nhiên, giá trị 94 trong hàng đầu tiên của cột thứ hai chính xác là 95.>>> 4Đầu tiên, chúng tôi gieo hạt mô -đun 79 để bạn có thể dễ dàng tái tạo đầu ra. Sau đó, một mảng số điểm nổi 3 × 4 được tạo bằng 80.>>> 5Nếu bạn cần sự linh hoạt làm tròn hơn, bạn có thể áp dụng các hàm Numpy ____ ____202, 55 và 20 cho các đối tượng Pandas 07 và 08:>>> 6Hàm 68 đã sửa đổi từ phần trước cũng sẽ hoạt động ở đây:>>> 7Hàm 68 đã sửa đổi từ phần trước cũng sẽ hoạt động ở đây:Xin chúc mừng, bạn rất tốt trên đường để làm tròn thành thạo! Bây giờ bạn biết rằng có nhiều cách để làm tròn một số hơn là có sự kết hợp của taco. . Có một bước nữa: biết khi nào nên áp dụng chiến lược phù hợp.Các ứng dụng và thực tiễn tốt nhất Sự kéo dài cuối cùng trên con đường của bạn để làm tròn sự điêu luyện là sự hiểu biết khi nào nên áp dụng kiến thức mới của bạn. Trong phần này, bạn sẽ học một số thực tiễn tốt nhất để đảm bảo bạn làm tròn số của mình đúng cách.Lưu trữ nhiều hơn và tròn muộn Khi bạn xử lý các bộ dữ liệu lớn, lưu trữ có thể là một vấn đề. Trong hầu hết các cơ sở dữ liệu quan hệ, mỗi cột trong bảng được thiết kế để lưu trữ một loại dữ liệu cụ thể và các loại dữ liệu số thường được gán chính xác để giúp bảo tồn bộ nhớ. Ví dụ, một cảm biến nhiệt độ có thể báo cáo nhiệt độ trong lò công nghiệp kéo dài cứ sau mười giây chính xác đến tám chữ số thập phân. Các bài đọc từ điều này được sử dụng để phát hiện sự dao động bất thường về nhiệt độ có thể chỉ ra sự thất bại của một yếu tố sưởi ấm hoặc một số thành phần khác. Vì vậy, có thể có một kịch bản Python chạy so sánh mỗi lần đọc đến cuối cùng để kiểm tra các biến động lớn. Các bài đọc từ cảm biến này cũng được lưu trữ trong cơ sở dữ liệu SQL để nhiệt độ trung bình hàng ngày bên trong lò có thể được tính toán mỗi ngày vào nửa đêm. Nhà sản xuất phần tử sưởi ấm bên trong lò khuyến nghị thay thế thành phần bất cứ khi nào nhiệt độ trung bình hàng ngày giảm 26 độ dưới mức bình thường.Đối với tính toán này, bạn chỉ cần ba vị trí chính xác thập phân. Nhưng bạn biết từ vụ việc tại Sở giao dịch chứng khoán Vancouver rằng việc loại bỏ quá nhiều độ chính xác có thể ảnh hưởng đáng kể đến tính toán của bạn. Nếu bạn có sẵn không gian, bạn nên lưu trữ dữ liệu ở mức độ chính xác đầy đủ. Nếu lưu trữ là một vấn đề, một quy tắc tốt là lưu trữ ít nhất hai hoặc ba vị trí chính xác thập phân hơn bạn cần cho tính toán của mình. Cuối cùng, khi bạn tính toán nhiệt độ trung bình hàng ngày, bạn nên tính toán nó với độ chính xác đầy đủ có sẵn và làm tròn câu trả lời cuối cùng.Tuân thủ các quy định nội tệ Khi bạn gọi một tách cà phê với giá 2,40 đô la tại quán cà phê, thương gia thường thêm thuế cần thiết. Số tiền thuế đó phụ thuộc rất nhiều vào nơi bạn ở địa lý, nhưng vì lợi ích của cuộc tranh luận, hãy để nói rằng nó đã nói 6%. Thuế được thêm vào được đưa ra tới 0,144 đô la. Bạn có nên làm tròn số tiền này lên đến $ 0,15 hoặc xuống $ 0,14? Câu trả lời có thể phụ thuộc vào các quy định được quy định bởi chính quyền địa phương! Những tình huống như thế này cũng có thể phát sinh khi bạn chuyển đổi một loại tiền khác. Năm 1999, Ủy ban các vấn đề kinh tế và tài chính của châu Âu đã mã hóa việc sử dụng một nửa vòng tròn từ chiến lược không có tiền tệ khi chuyển đổi tiền tệ sang đồng euro, nhưng các loại tiền tệ khác có thể đã áp dụng các quy định khác nhau. Một kịch bản khác, Vòng tròn Thụy Điển, xảy ra khi đơn vị tiền tệ tối thiểu ở cấp độ kế toán ở một quốc gia nhỏ hơn đơn vị tiền tệ vật lý thấp nhất. Ví dụ, nếu một tách cà phê có giá 2,54 đô la sau thuế, nhưng không có đồng xu 1 xu được lưu hành, bạn sẽ làm gì? Người mua đã giành chiến thắng có số tiền chính xác và người bán có thể thay đổi chính xác. Làm thế nào các tình huống như thế này được xử lý thường được xác định bởi một chính phủ quốc gia. Bạn có thể tìm thấy một danh sách các phương pháp làm tròn được sử dụng bởi các quốc gia khác nhau trên Wikipedia. Nếu bạn đang thiết kế phần mềm để tính toán tiền tệ, bạn phải luôn kiểm tra luật pháp và quy định địa phương tại các địa điểm của người dùng.Khi nghi ngờ, các mối quan hệ tròn để thậm chí Khi bạn làm tròn các số trong các bộ dữ liệu lớn được sử dụng trong các tính toán phức tạp, mối quan tâm chính là hạn chế sự tăng trưởng của lỗi do làm tròn. Trong tất cả các phương pháp mà chúng tôi đã thảo luận trong bài viết này, một nửa làm tròn cho chiến lược thậm chí của người dùng giảm thiểu sự thiên vị làm tròn tốt nhất. May mắn thay, Python, Numpy và Pandas đều mặc định cho chiến lược này, vì vậy bằng cách sử dụng các chức năng làm tròn tích hợp mà bạn đã được bảo vệ tốt!Bản tóm tắt Whew! Thật là một hành trình này đã được!
Nếu bạn quan tâm đến việc tìm hiểu thêm và đào sâu vào các chi tiết lớn của tất cả mọi thứ chúng tôi đã đề cập, các liên kết dưới đây sẽ khiến bạn bận rộn khá lâu. Ít nhất, nếu bạn đã thích bài viết này và học được điều gì đó mới từ nó, hãy chuyển nó cho một người bạn hoặc thành viên trong nhóm! Hãy chắc chắn để chia sẻ suy nghĩ của bạn với chúng tôi trong các ý kiến. Chúng tôi rất thích nghe một số câu chuyện chiến đấu liên quan đến làm tròn của riêng bạn! Happy Pythoning! Tài nguyên bổ sungChiến lược làm tròn và thiên vị:
Thông số kỹ thuật nổi và số thập phân:
Những bài đọc thú vị:
Làm thế nào để bạn làm tròn đến bội số của 5 trong Python?Làm thế nào để bạn làm tròn đến bội số gần nhất của 5 ở Python? Sử dụng vòng (số) để làm tròn đến bội số gần nhất của 5 chia số cho 5. Gọi vòng (a_number) trên kết quả a_number để nhận int. Nhân đó int với 5 để có được bội số gần nhất.Use round(number) to round to the nearest multiple of 5 Divide the number by 5. Call round(a_number) on the result a_number to get an int . Multiply that int by 5 to get the nearest multiple.
Làm thế nào để bạn làm tròn đến bội số gần nhất?Bạn có thể sử dụng giá trần đến giá tròn, thời gian, chỉ số công cụ hoặc bất kỳ giá trị số nào khác. Trần tròn lên bằng cách sử dụng nhiều người được cung cấp. Bạn có thể sử dụng hàm MROUND để làm tròn đến bội số gần nhất và hàm sàn để làm tròn xuống bội số.use the MROUND function to round to the nearest multiple and the FLOOR function to round down to a multiple.
Làm thế nào để bạn làm tròn đến bội số gần nhất của 10 ở Python?Sử dụng hàm vòng () để làm tròn một số đến 10 gần nhất, ví dụ:kết quả = vòng (num, -1).Khi hàm vòng () được gọi với đối số thứ hai là -1, nó làm tròn đến bội số gần nhất của 10., e.g. result = round(num, -1) . When the round() function is called with a second argument of -1 , it rounds to the closest multiple of 10.
Làm cách nào để đặt làm tròn trong Python?Để làm tròn đến tổng số gần nhất trong Python, bạn có thể sử dụng phương thức vòng ().Bạn không nên chỉ định một số vị trí thập phân mà số của bạn nên được làm tròn.Mã Python của chúng tôi trả về: 24.Hàm vòng () thường được sử dụng với các số điểm nổi, bao gồm các vị trí thập phân.use the round() method. You should not specify a number of decimal places to which your number should be rounded. Our Python code returns: 24 . The round() function is usually used with floating-point numbers, which include decimal places. |