Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để làm tròn một số đến bội số gần nhất, chẳng hạn như 2, 5 hoặc 10. và để sử dụng. Python làm cho nó đơn giản để làm tròn một số lên hoặc xuống, nhưng làm tròn vào một khoảng thời gian cụ thể là một câu chuyện khác.
Trong thực tế, đây có thể là một cái gì đó dễ thực hiện hơn trong Excel. Excel cung cấp một hàm MROUND[]
, làm tròn một số vào khoảng thời gian gần nhất được truyền dưới dạng tham số. Đến cuối hướng dẫn này, bạn sẽ học được cách mô phỏng hành vi của hàm MROUND[]
, bằng cách học cách sử dụng Python để làm tròn một số vào một khoảng thời gian nhất định.
Bạn sẽ học cách làm tròn đến một số khoảng thời gian được xác định trước, chẳng hạn như 2 và 5, cũng như 10 hoặc bất kỳ hệ số nhân nào của mười. Bạn cũng sẽ học được cách phát triển chức năng của riêng mình cho phép bạn vượt qua trong một khoảng và làm tròn một số đến giá trị khoảng gần nhất.
Câu trả lời nhanh: Sử dụng multiple * [number / multiple]
- Các số làm tròn trong Python: Một bản tóm tắt nhanh chóng
- Phát triển một chức năng tùy chỉnh để làm tròn thành bội số trong Python [ví dụ: 2, 5, v.v.]
- Làm tròn một số thành số nhân 10 trong Python
- Làm tròn cột gấu trúc thành bội số của một giá trị
- Sự kết luận
- Tài nguyên bổ sung
Các số làm tròn trong Python: Một bản tóm tắt nhanh chóng
Phát triển một chức năng tùy chỉnh để làm tròn thành bội số trong Python [ví dụ: 2, 5, v.v.]
Làm tròn một số thành số nhân 10 trong Pythonit does not give you the option to round a number to a given interval. For example, the round[]
function would allow you to round to the
nearest whole number [i.e., an interval of 1], it would not allow you to round the nearest interval of, say, 5.
Làm tròn cột gấu trúc thành bội số của một giá trị
# Using the round[] function to round a number in Python number1 = 1.55 number2 = 33.67 rounded1 = round[number1, 0] rounded2 = round[number2, 0] print['rounded1 = ', rounded1] print['rounded2 = ', rounded2] # Returns: # rounded1 = 2.0 # rounded2 = 34.0
Sự kết luận
Tài nguyên bổ sung
Phát triển một chức năng tùy chỉnh để làm tròn thành bội số trong Python [ví dụ: 2, 5, v.v.]
Làm tròn một số thành số nhân 10 trong Python
Làm tròn cột gấu trúc thành bội số của một giá trị Functions allow us to follow the programming DRY ethos, meaning “don’t repeat yourself”. This means that we can re-use functions throughout our code. While the code the function will take is relatively straightforward, developing a function also allows our code to be more readable. Readability is an important skill in troubleshooting your code. It also allows future readers to better understand what it is you’re hoping to accomplish.
Sự kết luận
# Developing a function to round to a multiple def round_to_multiple[number, multiple]: return multiple * round[number / multiple] # Rounding 23 to a multiple of 5 print[round_to_multiple[23, 5]] # Returns 25 # Rounding 121 to an interval of 100 print[round_to_multiple[121, 100]] # Returns 100
Tài nguyên bổ sung
- Python cung cấp một chức năng cho phép bạn làm tròn một số, hàm
round[]
. Chức năng này là một phần của thư viện Python bình thường, có nghĩa là bạn không cần nhập bất cứ thứ gì. Hàm chấp nhận hai tham số: [1] một số [có thể là một số nguyên hoặc giá trị điểm nổi] và [2] số thập phân để làm tròn số. - Mặc dù chức năng này đặc biệt hữu ích trong việc làm tròn một số, nhưng nó không cung cấp cho bạn tùy chọn để làm tròn một số vào một khoảng thời gian nhất định. Ví dụ: hàm
round[]
sẽ cho phép bạn làm tròn đến số toàn bộ gần nhất [nghĩa là, khoảng 1], nó sẽ không cho phép bạn làm tròn khoảng thời gian gần nhất của, 5.
Vì vậy, giả sử chúng tôi muốn làm tròn một số vào số toàn bộ gần nhất của nó, chúng tôi có thể sử dụng hàm round[]
. Hãy để xem những gì nó trông như thế nào:We can customize our function to take a third parameter to indicate that we want to round down, up, or to the nearest multiple.
# Developing a function to round to a multiple from math import ceil, floor def round_to_multiple[number, multiple, direction='nearest']: if direction == 'nearest': return multiple * round[number / multiple] elif direction == 'up': return multiple * ceil[number / multiple] elif direction == 'down': return multiple * floor[number / multiple] else: return multiple * round[number / multiple] # Rounding 23 to a multiple of 5 print[round_to_multiple[23, 5, 'nearest2']] print[round_to_multiple[23, 5, 'up']] print[round_to_multiple[23, 5, 'down']] # Returns: # 25 # 25 # 20
Tương tự, Python cung cấp các chức năng thông qua thư viện
# Developing a function to round to a multiple def round_to_multiple[number, multiple]: return multiple * round[number / multiple] # Rounding 23 to a multiple of 5 print[round_to_multiple[23, 5]] # Returns 25 # Rounding 121 to an interval of 100 print[round_to_multiple[121, 100]] # Returns 1002 để cho phép bạn làm tròn giá trị lên hoặc xuống. Hàm
# Developing a function to round to a multiple def round_to_multiple[number, multiple]: return multiple * round[number / multiple] # Rounding 23 to a multiple of 5 print[round_to_multiple[23, 5]] # Returns 25 # Rounding 121 to an interval of 100 print[round_to_multiple[121, 100]] # Returns 1003 được sử dụng để làm tròn một số xuống, trong khi hàm
# Developing a function to round to a multiple def round_to_multiple[number, multiple]: return multiple * round[number / multiple] # Rounding 23 to a multiple of 5 print[round_to_multiple[23, 5]] # Returns 25 # Rounding 121 to an interval of 100 print[round_to_multiple[121, 100]] # Returns 1004 được sử dụng để làm tròn một số.
Làm tròn một số thành số nhân 10 trong Python
Làm tròn cột gấu trúc thành bội số của một giá trịmultiplier of ten, we mean increments of 1, 10, 100, 1000, and so on.
Sự kết luận
Hãy để xem những gì xảy ra khi chúng ta áp dụng một đối số tiêu cực vào hàm round[]
:
# Rounding to a multiplier of ten in Python number = 145244 rounded_ten = round[number, -1] rounded_hundred = round[number, -2] rounded_thousand = round[number, -3] print[rounded_ten] print[rounded_hundred] print[rounded_thousand] # Returns # 145240 # 145200 # 145000
Làm tròn cột gấu trúc thành bội số của một giá trị
Bây giờ, chúng tôi đã học được cách làm tròn một số vào bội số nhất định của một giá trị, hãy để Lôi xem cách chúng ta có thể áp dụng điều này cho khung dữ liệu gấu trúc. Trong nhiều trường hợp, bạn có thể muốn làm tròn toàn bộ cột DataFrame vào một khoảng cụ thể.
Hãy bắt đầu bằng cách tải một chiếc Pandas DataFrame:
# Loading a sample Pandas dataframe import pandas as pd df = pd.DataFrame.from_dict[{ 'Date': pd.date_range['2022-01-01', '2022-01-05'], 'Amount': [139, 155, 432, 342, 121] }] print[df.head[]] # Returns: # Date Amount # 0 2022-01-01 139 # 1 2022-01-02 155 # 2 2022-01-03 432 # 3 2022-01-04 342 # 4 2022-01-05 121
Bây giờ chúng tôi có DataFrame của mình, chúng tôi có thể sử dụng lại chức năng trước đó của mình. Chúng ta có thể sử dụng chức năng Pandas
# Developing a function to round to a multiple def round_to_multiple[number, multiple]: return multiple * round[number / multiple] # Rounding 23 to a multiple of 5 print[round_to_multiple[23, 5]] # Returns 25 # Rounding 121 to an interval of 100 print[round_to_multiple[121, 100]] # Returns 1007 để áp dụng chức năng của chúng ta vào cột số lượng. Hãy để xem những gì nó trông như thế nào:
# Rounding a Pandas dataframe column to a Multiple def round_to_multiple[number, multiple]: return multiple * round[number / multiple] df['Amount [Rounded]'] = df['Amount'].apply[lambda x: round_to_multiple[x, 5]] print[df.head[]] # Returns: # Date Amount Amount [Rounded] # 0 2022-01-01 139 140 # 1 2022-01-02 155 155 # 2 2022-01-03 432 430 # 3 2022-01-04 342 340 # 4 2022-01-05 121 120
Ở đây, chúng tôi đã áp dụng chức năng cho cột của chúng tôi. Điều này dẫn đến một cột mới có các giá trị được làm tròn đến khoảng năm gần nhất.
Sự kết luận
Trong hướng dẫn này, bạn đã học cách sử dụng Python để làm tròn một số đến khoảng gần nhất. Bạn đã học một bản tóm tắt của chức năng Python round[]
và cách sử dụng nó để làm tròn thành số nhân của mười. Sau đó, bạn đã học được cách tạo một hàm tùy chỉnh có thể làm tròn giá trị đến bội số gần nhất của một số nhất định. Bạn cũng tùy chỉnh hàm đó để cho phép hàm tròn xuống một khoảng, làm tròn đến một khoảng hoặc tròn đến khoảng gần nhất. Cuối cùng, bạn đã học được cách làm tròn toàn bộ cột DataFrame của Pandas vào một khoảng số của một số.
Để tìm hiểu thêm về chức năng Python round[]
, hãy xem tài liệu chính thức ở đây.
Tài nguyên bổ sung
Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các bài viết dưới đây:
- Python: Cắt ngắn một chiếc phao [6 cách khác nhau]
- Chứng số mũ Python: Sử dụng Python để nâng số lên một nguồn điện
- Python giá trị tuyệt đối: abs [] trong python
- Tạo các cột mới trong gấu trúc