Định dạng trăn tròn

Trong khi xử lý dữ liệu, đôi khi bạn có thể bắt gặp một tập dữ liệu thiên vị. Trong thống kê, độ lệch là theo đó giá trị mong đợi của kết quả khác với thông số định lượng cơ bản thực được ước tính. Làm việc với những dữ liệu như vậy có thể nguy hiểm và có thể dẫn bạn đến những kết luận không chính xác. Để tìm hiểu thêm về nhiều khái niệm khác về Python, hãy xem qua Hướng dẫn Python của chúng tôi hoặc đăng ký trong các khóa học Lập trình Python cho người mới bắt đầu của chúng tôi. Ngoài ra, hãy nhấp vào đây để tìm hiểu về hệ thống. đối số dòng lệnh argv

Ngoài ra, hãy đọc về Self in Python tại đây

Có nhiều loại sai lệch như sai lệch lựa chọn, sai lệch báo cáo, sai lệch lấy mẫu, v.v. Tương tự, xu hướng làm tròn có liên quan đến dữ liệu số. Trong bài viết này, chúng ta sẽ thấy những điều sau đây

  • Tại sao điều quan trọng là phải biết cách làm tròn số
  • Cách sử dụng các chiến lược khác nhau để làm tròn số
  • Làm tròn dữ liệu bị ảnh hưởng như thế nào
  • Cách sử dụng mảng NumPy và Pandas DataFrames để làm tròn số

Trước tiên chúng ta hãy tìm hiểu về quy trình làm tròn tích hợp sẵn của Python

Giới thiệu về chức năng round() tích hợp sẵn của Python

Lập trình Python cung cấp một hàm round() tích hợp giúp làm tròn một số thành số chữ số đã cho và làm cho việc làm tròn số dễ dàng hơn. Hàm round() chấp nhận hai đối số là n và n chữ số sau đó trả về số n sau khi làm tròn nó thành chữ số. Nếu số chữ số không được cung cấp để làm tròn, hàm sẽ làm tròn số n thành số nguyên gần nhất

Giả sử bạn muốn làm tròn một số, chẳng hạn như 4. 5. Nó sẽ được làm tròn đến số nguyên gần nhất là 5. Tuy nhiên, số 4. 74 sẽ được làm tròn đến một chữ số thập phân để cho 4. 7

Điều quan trọng là làm tròn số nhanh chóng và dễ dàng khi bạn đang làm việc với số thực có nhiều chữ số thập phân. Hàm Python có sẵn round() làm cho nó đơn giản và dễ dàng

cú pháp

round(number, number of digits)

Các tham số trong hàm round() là

  1. số - số cần làm tròn
  2. số chữ số (Tùy chọn) - số chữ số mà số đã cho sẽ được làm tròn

Tham số thứ hai là tùy chọn. Trường hợp thiếu thì hàm round() trả về

  • Đối với một số nguyên, 12, nó làm tròn thành 12
  • Đối với số thập phân, nếu chữ số cuối cùng sau dấu thập phân >=5 thì sẽ làm tròn thành số nguyên tiếp theo và nếu <5 thì sẽ làm tròn thành số nguyên sàn

Hãy để chúng tôi xem xét một ví dụ trong đó tham số thứ hai bị thiếu

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))

đầu ra sẽ là

12
22
21

Bây giờ, nếu có tham số thứ hai

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))

đầu ra sẽ là

5.46 
5.48 
5.47

Một ứng dụng thực tế của hàm round()
Luôn có sự không khớp giữa phân số và số thập phân. Việc làm tròn các chức năng có thể được sử dụng để xử lý các trường hợp như vậy. Trong khi chuyển đổi phân số thành số thập phân, chúng tôi thường nhận được nhiều chữ số sau dấu thập phân, chẳng hạn như đối với ⅙ chúng tôi nhận được 0. 166666667 nhưng chúng tôi sử dụng hai hoặc ba chữ số ở bên phải dấu thập phân. Đây là nơi chức năng làm tròn tiết kiệm thời gian

Ví dụ

x = 1/3
print(x)
print(round(x, 2))

đầu ra sẽ là

0.3333333333333333 
0.33

Một số lỗi và ngoại lệ liên quan đến chức năng này
Ví dụ,

in (tròn ("x", 2))

đầu ra sẽ là

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 print(round("x", 2))
TypeError: type str doesn't define __round__ method

Một vi dụ khac,

________số 8_______

đầu ra sẽ là

2
2
2

Hàm round() làm tròn 1. 5 đến 2 và 2. 5 xuống còn 2. Đây không phải là lỗi, hàm round() hoạt động theo cách này. Trong bài viết này, bạn sẽ tìm hiểu một vài cách khác để làm tròn số. Chúng ta hãy xem xét các phương pháp khác nhau để làm tròn một số

Phương pháp đa dạng để làm tròn

Có nhiều cách làm tròn số với ưu và nhược điểm riêng. Để hiểu rõ hơn, những phương pháp đa dạng này để làm tròn người học mới bắt đầu cũng có thể tham gia khóa học nâng cao về python. Nhưng trước đó, ở đây chúng ta sẽ tìm hiểu một số kỹ thuật làm tròn số

cắt ngắn

Truncation, như tên cho thấy, có nghĩa là rút ngắn mọi thứ. Đây là một trong những phương pháp đơn giản nhất để làm tròn một số bao gồm việc cắt ngắn một số thành một số chữ số nhất định. Phương pháp này thay thế mỗi chữ số sau một vị trí nhất định bằng 0. Chúng ta hãy xem xét một số ví dụ

Giá trị bị cắt bớt ToResult19. 345Hàng chục vị trí1019. 345Một chỗ1919. 345Hàng phần mười19. 319. 345Hàng phần trăm19. 34

Hàm truncate() có thể được sử dụng cho số dương cũng như số âm

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
0

Hàm truncate() cũng có thể được sử dụng để cắt bớt các chữ số về phía bên trái của dấu thập phân bằng cách chuyển một số âm

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
1

Khi một số dương bị cắt bớt, về cơ bản chúng tôi sẽ làm tròn số đó xuống. Tương tự, khi chúng ta cắt bớt một số âm, số đó sẽ được làm tròn lên. Chúng ta hãy xem xét các phương pháp làm tròn khác nhau

Tập trung

Có một chiến lược khác được gọi là "làm tròn số" trong đó một số được làm tròn đến một số chữ số cụ thể. Ví dụ

Giá trịLàm tròn đếnResult12. 345Hàng chục vị trí2018. 345Một chỗ1918. 345Hàng phần mười18. 418. 345Hàng phần trăm18. 35

Thuật ngữ trần được sử dụng trong toán học để giải thích số nguyên gần nhất lớn hơn hoặc bằng một số cụ thể. Trong Python, để "làm tròn số", chúng tôi sử dụng hai hàm cụ thể là,

  1. hàm trần () và
  2. hàm toán học ()

Một số không nguyên nằm giữa hai số nguyên liên tiếp. Chẳng hạn xét số 5. 2, điều này sẽ nằm giữa 4 và 5. Ở đây, trần nhà là điểm cuối cao hơn của khoảng, trong khi sàn nhà là điểm cuối thấp hơn. Do đó, mức trần 5. 2 là 5, và tầng 5. 2 là 4. Tuy nhiên, trần của 5 là 5

Trong Python, hàm để thực hiện hàm trần là toán học. chức năng trần(). Nó luôn trả về số nguyên gần nhất lớn hơn hoặc bằng đầu vào của nó

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
2

Nếu để ý bạn sẽ thấy mức trần -0. 5 là 0 chứ không phải -1
Chúng ta hãy xem xét một đoạn mã ngắn để triển khai chiến lược “làm tròn số” bằng cách sử dụng hàm round_up()

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
3

Hãy xem cách hàm round_up() hoạt động với các đầu vào khác nhau

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
4

Bạn có thể chuyển các giá trị âm sang số thập phân, giống như chúng ta đã làm trong phần cắt ngắn

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
5

Bạn có thể theo dõi sơ đồ bên dưới để hiểu cách làm tròn lên và làm tròn xuống. Vòng lên bên phải và xuống bên trái

The diagram which helps to better understand Rounding Up and Rounding Down in Python

Làm tròn lên luôn làm tròn một số ở 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ố ở bên trái trên dòng số

Làm tròn xuống

Tương tự như làm tròn lên, chúng ta có một chiến lược khác gọi là làm tròn xuống nơi

Giá trị được làm tròn xuống thànhResult19. 345Hàng chục vị trí1019. 345Một chỗ1919. 345Hàng phần mười19. 319. 345Hàng phần trăm19. 34

Trong Python, làm tròn xuống có thể được triển khai bằng thuật toán tương tự khi chúng ta cắt bớt hoặc làm tròn lên. Đầu tiên, bạn sẽ phải thay đổi dấu thập phân và sau đó làm tròn một số nguyên. Cuối cùng, chuyển dấu thập phân trở lại

Toán học. ceil() được sử dụng để làm tròn lên đến mức trần của số sau khi dấu thập phân được dịch chuyển. Để “làm tròn xuống”, trước tiên chúng ta cần làm tròn sàn của số sau khi dấu thập phân được dịch chuyển

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
6

Đây là định nghĩa của round_down()

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
7

Điều này khá giống với hàm round_up(). Ở đây chúng tôi đang sử dụng toán học. sàn () thay vì toán học. trần nhà()

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
8

Làm tròn số lên hoặc xuống có tác dụng cực lớn đối với tập dữ liệu lớn. Sau khi làm tròn lên hoặc xuống, bạn thực sự có thể loại bỏ rất nhiều độ chính xác cũng như thay đổi phép tính

Làm tròn một nửa

Chiến lược “làm tròn một nửa” làm tròn mọi số đến 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 lên. Dưới đây là một số ví dụ

Giá trịLàm tròn một nửa đếnResult19. 825Hàng chục vị trí1019. 825Ones place2019. 825Hàng phần mười19. 819. 825Hàng phần trăm19. 83

Trong Python, chiến lược làm tròn nửa số có thể được triển khai bằng cách dịch chuyển dấu thập phân sang phải theo số vị trí mong muốn. Trong trường hợp này, bạn sẽ phải xác định xem chữ số sau dấu thập phân đã dịch chuyển nhỏ hơn hay lớn hơn 5

Bạn có thể thêm 0. 5 thành giá trị được dịch chuyển và sau đó làm tròn nó xuống bằng phép toán. hàm sàn ()

# For integers
print(round(12))
 
# For floating point
print(round(21.7))  
print(round(21.4))
9

Nếu để ý bạn có thể thấy round_half_up() giống với round_down. Sự khác biệt duy nhất là thêm 0. 5 sau khi dịch chuyển dấu thập phân để kết quả làm tròn xuống khớp với giá trị dự kiến

12
22
21
0

Làm tròn một nửa xuống

Trong phương pháp làm tròn này, nó làm tròn đến số gần nhất tương tự như phương pháp “làm tròn một nửa”, điểm khác biệt là nó phá vỡ các ràng buộc bằng cách làm tròn đến số nhỏ hơn trong hai số. Dưới đây là một số ví dụ

Giá trịRound Half Down ToResult16. 825Hàng chục vị trí1716. 825Một chỗ1716. 825Hàng phần mười16. 816. 825Hàng phần trăm16. 82

Trong Python, chiến lược “làm tròn một nửa xuống” có thể được thực hiện bằng cách thay thế toán học. floor() trong hàm round_half_up() với toán học. ceil() và sau đó bằng cách trừ 0. 5 thay vì thêm

12
22
21
1

Hãy để chúng tôi xem xét một số trường hợp thử nghiệm

12
22
21
2

Nói chung, không có sự thiên vị nào cho cả round_half_up() và round_half_down(). Tuy nhiên, làm tròn dữ liệu với số lượng mối quan hệ nhiều hơn dẫn đến sai lệch. Hãy xem xét một ví dụ để hiểu rõ hơn

12
22
21
3

Hãy để chúng tôi tính giá trị trung bình của những con số này

12
22
21
4

Bây giờ chúng ta hãy tính giá trị trung bình của dữ liệu sau khi làm tròn đến một chữ số thập phân với round_half_up() và round_half_down()

12
22
21
5

Hàm round_half_up() dẫn đến vòng quay về hướng vô cực dương và round_half_down() dẫn đến vòng về hướng vô cực âm

Làm tròn một nửa từ số không

Nếu bạn để ý kỹ khi đi qua round_half_up() và round_half_down(), cả hai đều không đối xứng quanh 0

12
22
21
6

Để giới thiệu tính đối xứng, bạn luôn có thể làm tròn cà vạt cách xa số không. Bảng được đề cập dưới đây minh họa rõ ràng

ValueRound Half Away From Zero ToResult16. 25Hàng chục vị trí2016. 25Một chỗ1616. 25Hàng phần mười16. 3-16. 25Hàng chục vị trí-20-16. 25Một vị trí-16-16. 25Hàng phần mười-16. 3

Việc thực hiện chiến lược “làm tròn nửa số 0” trên số n rất đơn giản. Tất cả những gì bạn cần làm là bắt đầu như bình thường bằng cách chuyển dấu thập phân sang bên phải của một số vị trí nhất định và sau đó chú ý đến chữ số d ngay bên phải vị trí thập phân trong số mới này. Ở đây, có bốn trường hợp cần xem xét

  1. Nếu n dương và d >= 5, làm tròn lên
  2. Nếu n dương và d < 5, làm tròn xuống
  3. Nếu n âm và d >= 5, làm tròn xuống
  4. Nếu n âm và d < 5, làm tròn lên

Sau khi làm tròn theo quy tắc nêu trên, bạn có thể dịch chuyển chữ số thập phân về bên trái

Có một câu hỏi có thể xuất hiện trong đầu bạn - Làm thế nào để bạn xử lý các tình huống trong đó số lượng các mối quan hệ tích cực và tiêu cực khác nhau đáng kể? . Python tích hợp sẵn

Làm tròn một nửa đến chẵn

Có một cách để giảm thiểu sai lệch làm tròn trong khi bạn đang làm tròn các giá trị trong tập dữ liệu. Bạn có thể chỉ cần làm tròn các mối quan hệ đến số chẵn gần nhất với độ chính xác mong muốn. Chúng ta hãy xem xét một số ví dụ

ValueRound Half Đến Chẵn ĐếnResult16. 255Hàng chục vị trí2016. 255Một chỗ1616. 255Hàng phần mười16. 216. 255Hàng phần trăm16. 26

Để chứng minh rằng round() thực sự làm tròn đến chẵn, chúng ta hãy thử một vài giá trị khác nhau

12
22
21
7

Lớp thập phân

Mô-đun thập phân trong Python là một trong những tính năng ngôn ngữ mà bạn có thể không biết nếu bạn mới bắt đầu học Python. Số thập phân “dựa trên một mô hình dấu phẩy động được thiết kế có tính đến con người và nhất thiết phải có một nguyên tắc hướng dẫn tối quan trọng – máy tính phải cung cấp một phép tính số học hoạt động giống như phép tính số học mà mọi người học ở trường. ” – ngoại trừ đặc tả số học thập phân.  

Một số lợi ích của mô-đun thập phân được đề cập bên dưới -

  • Biểu diễn thập phân chính xác. 0. 1 thực ra là 0. 1 và 0. 1 + 0. 1 + 0. 1 - 0. 3 trả về 0, như mong đợi

  • Bảo toàn chữ số có nghĩa. Khi bạn thêm 1. 50 và 2. 30, kết quả là 3. 80 với số 0 ở cuối được duy trì để biểu thị tầm quan trọng

  • Độ chính xác do người dùng thay đổi. Độ chính xác mặc định của mô-đun thập phân là hai mươi tám chữ số, nhưng người dùng có thể thay đổi giá trị này để phù hợp với vấn đề hiện tại

Hãy cho chúng tôi xem cách làm tròn hoạt động trong mô-đun thập phân

12
22
21
8

Hàm số thập phân. getcontext() trả về một đối tượng bối cảnh đại diện cho bối cảnh mặc định của mô-đun thập phân. Nó cũng bao gồm độ chính xác mặc định và chiến lược làm tròn mặc định

Trong ví dụ trên, bạn sẽ thấy chiến lược làm tròn mặc định cho mô-đun thập phân là ROUND_HALF_EVEN. Nó cho phép căn chỉnh với chức năng round() tích hợp

Hãy để chúng tôi tạo một thể hiện Số thập phân mới bằng cách chuyển một chuỗi chứa giá trị mong muốn và khai báo một số bằng cách sử dụng lớp Số thập phân của mô-đun thập phân

12
22
21
9

Bạn có thể tạo một thể hiện Số thập phân từ một số dấu phẩy động, nhưng trong trường hợp đó, lỗi biểu diễn dấu phẩy động sẽ xuất hiện. Ví dụ: đây là điều xảy ra khi bạn tạo một thể hiện Số thập phân từ số dấu phẩy động 0. 1

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
0

Bạn có thể tạo các phiên bản Thập phân từ các chuỗi chứa số thập phân bạn cần để duy trì độ chính xác chính xác

Làm tròn một số thập phân bằng cách sử dụng. lượng tử hóa() phương pháp

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
1

Số thập phân("1. 0") đối số trong. quantize() cho phép xác định số chữ số thập phân để làm tròn số. như 1. 0 có một chữ số thập phân, số 1. 85 làm tròn đến một chữ số thập phân. Làm tròn một nửa thành chẵn là chiến lược mặc định, do đó kết quả là 1. 8

lớp thập phân

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
2

Mô-đun thập phân cung cấp một lợi ích khác. Sau khi thực hiện phép tính số học, việc làm tròn được thực hiện tự động và các chữ số có nghĩa cũng được giữ nguyên

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
3

Để thay đổi chiến lược làm tròn mặc định, bạn có thể đặt số thập phân. getcontact(). làm tròn thuộc tính cho bất kỳ một trong số các cờ. Bảng sau đây tóm tắt các cờ này và chiến lược làm tròn mà chúng triển khai

FlagChiến lược làm tròn số thập phân. ROUND_CEILINGLàm tròn lên số thập phân. ROUND_FLOORRLàm tròn xuống số thập phân. ROUND_DOWNCắt số thập phân. ROUND_UPLàm tròn từ số không thập phân. ROUND_HALF_UP Làm tròn một nửa từ số thập phân 0. ROUND_HALF_DOWNLàm tròn một nửa về số không thập phân. ROUND_HALF_EVEN Làm tròn một nửa đến số thập phân chẵn. ROUND_05UPLàm tròn lên và làm tròn về 0

Làm tròn mảng NumPy

Trong Khoa học dữ liệu và tính toán khoa học, chúng tôi thường lưu trữ dữ liệu dưới dạng một mảng NumPy. Một trong những tính năng mạnh mẽ nhất của NumPy là sử dụng vector hóa và quảng bá để áp dụng các thao tác cho toàn bộ mảng cùng một lúc thay vì từng phần tử một

Hãy tạo một số dữ liệu bằng cách tạo một mảng 3×4 NumPy gồm các số giả ngẫu nhiên

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
4

Ở đây, đầu tiên chúng tôi chọn np. mô-đun ngẫu nhiên để tái tạo đầu ra dễ dàng. Sau đó, một mảng 3 × 4 NumPy gồm các số dấu phẩy động được tạo bằng np. ngẫu nhiên. randn()

Đừng quên cài đặt pip3 trước khi thực thi mã được đề cập ở trên. Nếu bạn đang sử dụng  Anaconda, bạn nên sử dụng

Để làm tròn tất cả các giá trị trong mảng dữ liệu, hãy chuyển dữ liệu làm đối số cho np. xung quanh() chức năng. Số vị trí thập phân mong muốn được đặt với đối số từ khóa thập phân. Trong trường hợp này, chiến lược nửa tròn đến chẵn được sử dụng tương tự như hàm round() tích hợp sẵn của Python

Để làm tròn dữ liệu trong mảng của bạn thành số nguyên, NumPy cung cấp một số tùy chọn được đề cập bên dưới

các np. hàm ceil() làm tròn mọi giá trị trong mảng thành số nguyên gần nhất lớn hơn hoặc bằng giá trị ban đầu

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
5

Nhìn vào mã một cách cẩn thận; . số 0 âm. Bây giờ chúng ta hãy xem thư viện Pandas, được sử dụng rộng rãi trong Khoa học dữ liệu với Python

Làm tròn chuỗi Pandas và DataFrame

Gấu trúc đã thay đổi cuộc chơi cho phân tích dữ liệu và khoa học dữ liệu. Hai cấu trúc dữ liệu chính trong Pandas là Dataframe và Series. Dataframe hoạt động giống như một bảng tính Excel trong khi bạn có thể coi Sê-ri là các cột trong bảng tính. Loạt. round() và DataFrame. các phương thức round(). Chúng ta hãy xem xét một ví dụ

Đừng quên cài đặt pip3 trước khi thực thi mã được đề cập ở trên. Nếu bạn đang sử dụng  Anaconda thì bạn nên sử dụng

# when the (ndigit+1)th digit is =5 
print(round(5.465, 2)) 
  
# when the (ndigit+1)th digit is >=5 
print(round(5.476, 2))   
  
# when the (ndigit+1)th digit is <5 
print(round(5.473, 2))
6

Thực tiễn tốt nhất và ứng dụng

Bây giờ bạn đã xem qua hầu hết các kỹ thuật làm tròn số, hãy cùng chúng tôi tìm hiểu một số phương pháp hay nhất để đảm bảo chúng tôi làm tròn số đúng cách

Tạo thêm dữ liệu và làm tròn sau

Giả sử bạn đang xử lý một tập hợp dữ liệu lớn, đôi khi việc lưu trữ có thể là một vấn đề. Ví dụ: trong lò nướng công nghiệp, bạn muốn đo nhiệt độ cứ sau mười giây một cách chính xác đến tám chữ số thập phân bằng cảm biến nhiệt độ. Những bài đọc này sẽ giúp tránh những dao động lớn có thể dẫn đến hỏng hóc của bất kỳ bộ phận hoặc bộ phận làm nóng nào. Chúng ta có thể viết một tập lệnh Python để so sánh các bài đọc và kiểm tra các biến động lớn

Sẽ có một số lượng lớn các bài đọc khi chúng được ghi lại mỗi ngày. Bạn có thể xem xét duy trì ba chữ số thập phân chính xác. Nhưng một lần nữa, loại bỏ quá nhiều độ chính xác có thể dẫn đến thay đổi trong phép tính. Tuy nhiên, nếu bạn có đủ dung lượng, bạn có thể dễ dàng lưu trữ toàn bộ dữ liệu với độ chính xác đầy đủ. Với dung lượng lưu trữ ít hơn, tốt hơn hết là lưu trữ ít nhất hai hoặc ba chữ số thập phân có độ chính xác cần thiết để tính toán

Cuối cùng, khi bạn đã hoàn tất việc tính toán nhiệt độ trung bình hàng ngày, bạn có thể tính toán nó với độ chính xác tối đa có sẵn và cuối cùng làm tròn kết quả

Quy định và trao đổi tiền tệ

Bất cứ khi nào chúng tôi mua một mặt hàng từ một địa điểm cụ thể, số tiền thuế phải trả so với số lượng mặt hàng phụ thuộc phần lớn vào các yếu tố địa lý. Một mặt hàng có giá 2 đô la có thể khiến bạn tốn ít tiền hơn (ví dụ: 1 đô la. 8)  nếu bạn mua cùng một mặt hàng từ một tiểu bang khác. Đó là do các quy định được đặt ra bởi chính quyền địa phương

Trong một trường hợp khác, làm tròn Thụy Điển được thực hiện 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 chất thấp nhất. Bạn có thể tìm thấy danh sách các phương pháp làm tròn như vậy được sử dụng bởi các quốc gia khác nhau nếu bạn tra cứu nó trên internet

Nếu bạn muốn thiết kế bất kỳ phần mềm nào như vậy để tính toán tiền tệ, hãy nhớ kiểm tra luật pháp và quy định địa phương áp dụng tại địa điểm hiện tại của bạn

Giảm lỗi

Vì bạn đang làm tròn số trong một tập 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 của bạn là hạn chế sự gia tăng của lỗi do làm tròn

Tóm lược

Trong bài viết này, chúng ta đã xem một vài phương pháp làm tròn số, trong số đó, chiến lược “làm tròn một nửa thành chẵn” giảm thiểu sai số làm tròn tốt nhất. Chúng tôi rất may mắn khi Python, NumPy và Pandas đã có sẵn các hàm làm tròn để sử dụng chiến lược này. Ở đây, chúng ta đã học về -

  • Một số chiến lược làm tròn và cách triển khai chúng trong Python thuần túy
  • Mọi chiến lược làm tròn đều đưa ra xu hướng làm tròn và chiến lược “làm tròn một nửa thành chẵn” giảm thiểu tốt xu hướng này, hầu hết thời gian
  • Bạn có thể làm tròn các mảng NumPy và các đối tượng Pandas Series và DataFrame

Nếu bạn thích đọc bài viết này và thấy nó thú vị, hãy để lại nhận xét. Để tìm hiểu thêm về cách làm tròn số và các tính năng khác của Python, hãy tham gia Kiến thức lập trình Python cho người mới bắt đầu

câu hỏi thường gặp

1. Làm thế nào để bạn làm tròn trong Python 3

Chúng ta có thể làm tròn số đơn giản trong Python bằng hàm "làm tròn". Nó không yêu cầu nhập khẩu. Tất cả những gì chúng ta phải làm là sử dụng cú pháp sau round(value). Giá trị ở đây có thể là một biến hoặc một số nguyên trực tiếp hoặc một giá trị dấu phẩy động

2. Làm thế nào để bạn làm tròn đến 2 chữ số thập phân trong Python?

Để làm tròn đến một số chữ số cụ thể, chúng ta thêm một tham số khác vào hàm round, chẳng hạn round(5. 4231, 2) làm tròn thành 5. 42

3. Làm thế nào để bạn làm tròn đến 4 chữ số thập phân trong Python?

Theo cách tương tự, chúng ta chỉ cần sử dụng round(value, 4) để làm tròn đến 4 chữ số thập phân. Ví dụ, tròn (5. 4231231, 4) làm tròn thành 5. 4231