Phạm vi Python[] chỉ hoạt động với số nguyên. Nó không hỗ trợ kiểu float, tôi. e. , chúng ta không thể sử dụng giá trị dấu phẩy động/thập phân trong bất kỳ đối số nào của nó
Ví dụ: Nếu bạn sử dụng
np.arange [start, stop, step]
5 với đối số bước thực, bạn sẽ nhận được giá trị np.arange [start, stop, step]
6for i in range[0, 1, 0.1]:
print[i]
# Output TypeError: 'float' object cannot be interpreted as an integer
Mục tiêu của bài viết này –
- Sử dụng các hàm
7 vànp.arange [start, stop, step]
8 của NumPy để sử dụng các số thập phân trong đối số bắt đầu, dừng và bước để tạo ra một loạt các số dấu phẩy độngnp.arange [start, stop, step]
- Sử dụng trình tạo Python để tạo một dải số float mà không cần sử dụng bất kỳ thư viện hoặc mô-đun nào
Mục lục
Phạm vi số float sử dụng arange[] của NumPy
Thư viện NumPy có nhiều hàm số và toán học khác nhau để hoạt động trên các mảng và ma trận đa chiều
NumPy có hàm
np.arange [start, stop, step]
9 để lấy phạm vi số dấu phẩy động. Nó có cùng cú pháp và chức năng như hàm range[] tích hợp sẵn trong Python. Ngoài ra, nó cho phép chúng tôi sử dụng các số dấu phẩy động trong các đối số bắt đầu, dừng và bướcCú pháp của hàm
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
0np.arange [start, stop, step]
Thời gian cần thiết. 5 phút.
Cách tạo một phạm vi số float trong Python
- Cài đặt mô-đun numpy
NumPy không đi kèm với cài đặt Python mặc định. Bạn có thể cài đặt nó bằng cách sử dụng
1import numpy as np # range for floats with np.arange[] for i in np.arange[0, 4.5, 0.5]: print[i, end=', '] # Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, # Example 2 for i in np.arange[5.5, 15.5, 2.5]: print[i, end=' '] # Output 5.5, 8.0, 10.5, 13.0,
- Nhập mô-đun numpy
Nhập mô-đun numpy bằng cách sử dụng câu lệnh
2import numpy as np # range for floats with np.arange[] for i in np.arange[0, 4.5, 0.5]: print[i, end=', '] # Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, # Example 2 for i in np.arange[5.5, 15.5, 2.5]: print[i, end=' '] # Output 5.5, 8.0, 10.5, 13.0,
- sử dụng numpy. sắp xếp[]
Truyền số float cho đối số bắt đầu, dừng và bước của nó. Ví dụ:
3 sẽ trả về chuỗi số dấu phẩy động bắt đầu từ 0. 5 đến 6. 5import numpy as np # range for floats with np.arange[] for i in np.arange[0, 4.5, 0.5]: print[i, end=', '] # Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, # Example 2 for i in np.arange[5.5, 15.5, 2.5]: print[i, end=' '] # Output 5.5, 8.0, 10.5, 13.0,
Thí dụ
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
Ghi chú. Như bạn có thể thấy ở đầu ra, Chúng tôi có các số thập phân bắt đầu từ 0. 0 đến 4. 0. Nếu bạn để ý,
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
0 không bao gồm 4. 5 trong kết quả của nó bởi vì nó nhưng không bao giờ bao gồm số dừng trong kết quả của nó. Nó dừng lại trước khi thực hiện bước cuối cùngCũng thấy. Phạm vi Python[] và bài tập vòng lặp for
Chỉ sử dụng số float trong đối số bước
Hãy xem cách sử dụng bước dấu phẩy động cùng với số nguyên bắt đầu và dừng trong
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
0 để tạo số dấu phẩy động trong một khoảng cụ thể. Trong ví dụ này, giá trị bước là 2. 5import numpy as np
# float step
for i in np.arange[1, 10, 2.5]:
print[i, end=', ']
# Output 1.0, 3.5, 6.0, 8.5
Phạm vi phao ngược
Sử dụng hàm
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
6 để hiển thị chuỗi số float được tạo bởi import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
0 theo thứ tự giảm dầnimport numpy as np
# reverse range of floats
for i in reversed[np.arange[5.5, 30.5, 5.5]]:
print[i, end=', ']
# Output 27.5, 22.0, 16.5, 11.0, 5.5,
Phạm vi cho số float âm
hãy xem cách sử dụng tất cả các số thực âm trong
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
0import numpy as np
# Negative range of float numbers
for i in np.arange[-2.5, -20.5, -2.5]:
print[i, end=', ']
# Output -2.5, -5.0, -7.5, -10.0, -12.5, -15.0, -17.5, -20.0,
Phạm vi phao sử dụng import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
9
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
Hãy xem cách sử dụng
import numpy as np
# float step
for i in np.arange[1, 10, 2.5]:
print[i, end=', ']
# Output 1.0, 3.5, 6.0, 8.5
0 để lấy một dãy số thựcimport numpy as np
# float step
for i in np.arange[1, 10, 2.5]:
print[i, end=', ']
# Output 1.0, 3.5, 6.0, 8.5
1 trả về khoảng cách số đều w. r. khoảng t. Tương tự như import numpy as np
# float step
for i in np.arange[1, 10, 2.5]:
print[i, end=', ']
# Output 1.0, 3.5, 6.0, 8.5
2, nhưng thay vì bước, nó sử dụng một số mẫuChúng tôi cần xác định điểm bắt đầu và điểm cuối của một khoảng, sau đó chỉ định tổng số mẫu bạn muốn trong khoảng đó [bao gồm điểm bắt đầu và điểm cuối]. Hàm
import numpy as np
# float step
for i in np.arange[1, 10, 2.5]:
print[i, end=', ']
# Output 1.0, 3.5, 6.0, 8.5
3 sẽ trả về một chuỗi các giá trị cách đều nhau trên khoảng đócú pháp
np.linspace[start, stop, num, endpoint]
Thông số
4. Vị trí bắt đầu của phạm vi, theo mặc định, bắt đầu bằng 0 nếu không được chỉ địnhimport numpy as np # float step for i in np.arange[1, 10, 2.5]: print[i, end=', '] # Output 1.0, 3.5, 6.0, 8.5
5. Kết thúc của khoảng thời gianimport numpy as np # float step for i in np.arange[1, 10, 2.5]: print[i, end=', '] # Output 1.0, 3.5, 6.0, 8.5
6. Số lượng mẫu để tạo, mặc định là 50. Nó không thể âm, tôi. e. , Tổng số bạn muốn trong phạm vi đầu raimport numpy as np # float step for i in np.arange[1, 10, 2.5]: print[i, end=', '] # Output 1.0, 3.5, 6.0, 8.5
7. Đặt nó thànhimport numpy as np # float step for i in np.arange[1, 10, 2.5]: print[i, end=', '] # Output 1.0, 3.5, 6.0, 8.5
8 nếu bạn không muốn đưa giá trị dừng vào kết quảimport numpy as np # float step for i in np.arange[1, 10, 2.5]: print[i, end=', '] # Output 1.0, 3.5, 6.0, 8.5
Thí dụ
import numpy as np
# Float range using np.linspace[]
# from 2.5 to 12.5
# num = total float numbers in the output
for i in np.linspace[2.5, 12.5, num=5]:
print[i, end=', ']
# Output 2.5, 5.0, 7.5, 10.0, 12.5,
print['']
# endpoint=False to not include stop number in the result
for i in np.linspace[2.5, 12.5, num=5, endpoint=False]:
print[i, end=', ']
# Output 2.5, 4.5, 6.5, 8.5, 10.5,
Ghi chú.
import numpy as np
# range for floats with np.arange[]
for i in np.arange[0, 4.5, 0.5]:
print[i, end=', ']
# Output 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0,
# Example 2
for i in np.arange[5.5, 15.5, 2.5]:
print[i, end=' ']
# Output 5.5, 8.0, 10.5, 13.0,
9 trả về khoảng cách số đều w. r. khoảng t. Chúng tôi không thể vượt qua giá trị bước tùy chỉnh; . r. khoảng tPhạm vi phao sử dụng trình tạo và năng suất
Phải làm gì nếu bạn không muốn sử dụng thư viện numpy chỉ cho hàm
np.arange [start, stop, step]
7 và np.arange [start, stop, step]
8?Trong trường hợp này, bạn có thể sử dụng trình tạo Python và năng suất để viết một hàm tùy chỉnh để tạo một dải số float
Bạn có thể xác định một trình tạo để sao chép hành vi của hàm range[] tích hợp sẵn của Python theo cách mà nó có thể chấp nhận các số dấu phẩy động và tạo ra một dải số float
Đoạn mã sau được chia thành 2 Phần
- Hàm
2 tùy chỉnhimport numpy as np # reverse range of floats for i in reversed[np.arange[5.5, 30.5, 5.5]]: print[i, end=', '] # Output 27.5, 22.0, 16.5, 11.0, 5.5,
- Một phần khác kiểm tra hàm
2 tùy chỉnh bằng cách sử dụng số dấu phẩy động với các cách tiếp cận sauimport numpy as np # reverse range of floats for i in reversed[np.arange[5.5, 30.5, 5.5]]: print[i, end=', '] # Output 27.5, 22.0, 16.5, 11.0, 5.5,
- Số float dương trong đối số
2import numpy as np # reverse range of floats for i in reversed[np.arange[5.5, 30.5, 5.5]]: print[i, end=', '] # Output 27.5, 22.0, 16.5, 11.0, 5.5,
- Với số float âm trong đối số
2import numpy as np # reverse range of floats for i in reversed[np.arange[5.5, 30.5, 5.5]]: print[i, end=', '] # Output 27.5, 22.0, 16.5, 11.0, 5.5,
- Cả hai bước float tiêu cực và tích cực trong các đối số
2import numpy as np # reverse range of floats for i in reversed[np.arange[5.5, 30.5, 5.5]]: print[i, end=', '] # Output 27.5, 22.0, 16.5, 11.0, 5.5,
- Số float dương trong đối số
Bây giờ, hãy xem ví dụ
def frange[start, stop=None, step=None]:
# if set start=0.0 and step = 1.0 if not specified
start = float[start]
if stop == None:
stop = start + 0.0
start = 0.0
if step == None:
step = 1.0
print["start = ", start, "stop = ", stop, "step = ", step]
count = 0
while True:
temp = float[start + count * step]
if step > 0 and temp >= stop:
break
elif step < 0 and temp