Hướng dẫn create array from 1 to n python numpy - tạo mảng từ 1 đến n python numpy

numpy.arange ([start,] stop, [bước,] dtype = none, *, như = none)#arange([start, ]stop, [step, ]dtype=None, *, like=None)#

Trả về các giá trị cách đều nhau trong một khoảng thời gian nhất định.

arange có thể được gọi với số lượng đối số vị trí khác nhau:

  • arange(stop): Các giá trị được tạo ra trong khoảng thời gian nửa mở [0, stop) (nói cách khác, khoảng thời gian bao gồm bắt đầu nhưng không bao gồm dừng).

  • arange(start, stop): Các giá trị được tạo ra trong khoảng thời gian nửa mở [start, stop).

  • Các giá trị arange(start, stop, step) được tạo ra trong khoảng thời gian nửa mở [start, stop), với khoảng cách giữa các giá trị được đưa ra bởi ____10.

Đối với các đối số số nguyên, hàm gần tương đương với python tích hợp

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
1, nhưng trả về một ndarray thay vì một ví dụ
>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
1.

Khi sử dụng bước không định cư, chẳng hạn như 0.1, tốt hơn là sử dụng

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
3.

Xem các phần cảnh báo dưới đây để biết thêm thông tin.

Tham sốStartInteger hoặc thực, tùy chọnstartinteger or real, optional

Bắt đầu khoảng thời gian. Khoảng thời gian bao gồm giá trị này. Giá trị bắt đầu mặc định là 0.

stopinteger hoặc thựcinteger or real

Kết thúc khoảng thời gian. Khoảng thời gian không bao gồm giá trị này, ngoại trừ trong một số trường hợp bước không phải là một số nguyên và độ tắt điểm nổi ảnh hưởng đến độ dài của OUT.

Stepinteger hoặc thực, tùy chọninteger or real, optional

Khoảng cách giữa các giá trị. Đối với bất kỳ đầu ra nào, đây là khoảng cách giữa hai giá trị liền kề,

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
4. Kích thước bước mặc định là 1. Nếu bước được chỉ định là đối số vị trí, bắt đầu cũng phải được đưa ra.

DtypedType, tùy chọndtype, optional

Loại mảng đầu ra. Nếu

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
5 không được đưa ra, hãy suy ra loại dữ liệu từ các đối số đầu vào khác.

LikeArray_Like, tùy chọnarray_like, optional

Đối tượng tham chiếu để cho phép tạo các mảng không phải là mảng không. Nếu một mảng giống như được truyền AS

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
6 hỗ trợ giao thức
>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
7, kết quả sẽ được xác định bởi nó. Trong trường hợp này, nó đảm bảo việc tạo ra một đối tượng mảng tương thích với điều đó được truyền qua thông qua đối số này.

Mới trong phiên bản 1.20.0.

ReturnSarAngendArrayarangendarray

Mảng của các giá trị cách đều nhau.

Đối với các đối số điểm nổi, độ dài của kết quả là

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
8. Do tràn điểm nổi, quy tắc này có thể dẫn đến yếu tố cuối cùng của ra ngoài lớn hơn điểm dừng.

Cảnh báo

Độ dài của đầu ra có thể không ổn định bằng số.

Một vấn đề ổn định khác là do việc thực hiện nội bộ của

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
9. Giá trị bước thực tế được sử dụng để điền vào mảng là
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
0 chứ không phải bước. Mất độ chính xác có thể xảy ra ở đây, do đúc hoặc do sử dụng các điểm nổi khi bắt đầu lớn hơn nhiều so với bước. Điều này có thể dẫn đến hành vi bất ngờ. Ví dụ:

>>> np.arange(0, 5, 0.5, dtype=int)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> np.arange(-3, 3, 0.5, dtype=int)
array([-3, -2, -1,  0,  1,  2,  3,  4,  5,  6,  7,  8])

Trong những trường hợp như vậy, việc sử dụng

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
3 nên được ưu tiên.

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
1 tích hợp tạo ra các số nguyên tích hợp python có kích thước tùy ý, trong khi
>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
9 tạo ra các số
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
4 hoặc
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
5. Điều này có thể dẫn đến kết quả không chính xác cho các giá trị số nguyên lớn:Python built-in integers that have arbitrary size, while
>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
9 produces
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
4 or
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
5 numbers. This may result in incorrect results for large integer values:

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect

Xem thêm

>>> power = 40
>>> modulo = 10000
>>> x1 = [(n ** power) % modulo for n in range(8)]
>>> x2 = [(n ** power) % modulo for n in np.arange(8)]
>>> print(x1)
[0, 1, 7776, 8801, 6176, 625, 6576, 4001]  # correct
>>> print(x2)
[0, 1, 7776, 7185, 0, 5969, 4816, 3361]  # incorrect
3

Các số cách đều nhau với xử lý cẩn thận các điểm cuối.

>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
7

Các mảng có số cách đều nhau trong các chiều n.

>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
8

Các mảng hình lưới của các số cách đều nhau trong các chiều n.

Ví dụ

>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0.,  1.,  2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])