Numpy cho phép chúng ta dễ dàng tạo một mảng trong một khoảng dãy số được chỉ định trước. Có hàm có sẵn sẽ trợ giúp chúng ta tạo một mảng Numpy từ các dãy số đó là: np.arange(), np.linspace()np.logspace()

1. Tạo mảng từ dãy số bằng np.arange()

Hàm np.arange() cũng gần tương tự như hàm range() có sẵn trong Python. Tuy nhiên, hàm np.arange() được sử dụng để tạo ra một mảng Numpy từ một dãy số trong một phạm vi nhất định. Kết quả dãy số được trả vể sau khi sử dụng hàm np.arange() sẽ có kiểu “numpy.ndarray”.

Ví dụ dưới đây, sử dụng hàm np.arange() để tạo một mảng Numpy từ dãy số bắt đầu tại số 1kết thúc tại số 10 như sau:

import numpy as np 

# Tao mang tu day so bat dau tai 1 va ket thuc tai 10
arrA = np.arange(1,10) 
print(arrA)

Kết quả:

[1 2 3 4 5 6 7 8 9]

Chúng ta có thể tạo ra mảng với các bước nhảy trong một dãy số với hàm np.arange(). Ví dụ tạo một mảng Numpy từ dãy số bắt đầu tại 0, kết thúc tại 10 và có bước nhảy bằng như sau:

import numpy as np 

# Tao mang tu day so bat dau tai 0, ket thuc tai 10 va buoc nhay bang 2
arrA = np.arange(0,10,2) 
print(arrA)

Kết quả:

[0 2 4 6 8]

Lưu ý: Các phần tử đầu tiên trong dãy số sẽ được thêm vào kết quả. Trong khi các phần tử ở cuối dãy số sẽ không được thêm vào kết quả. Ví dụ tạo mảng từ dãy bắt đầu tại 1 và kết thúc tại 10 khi bằng np.arange() sẽ nhận được kết quả: [1,2,3,4,5,6,7,8,9]

2. Tạo mảng cách đều với np.linspace()

Hàm np.linspace() cũng là một hàm được sử dụng để tạo ra một mảng từ các dãy số được chỉ định trước. Hàm này sẽ tạo ra một mảng Numpy thông qua một dãy số và các phần tử trong mảng sẽ được cách đều sao cho phù hợp với ví trị bắt đầu và vị trí kết thúc khoảng. Kết quả dãy số được trả vể sau khi sử dụng hàm np.linspace() sẽ có kiểu “numpy.ndarray”.

Ví dụ dưới đây, sử dụng hàm np.linspace() để tạo mảng Numpy với 5 phần tử được cách đều trong khoảng dãy số bắt đầu từ 10 và kết thúc tại 20 như sau:

import numpy as np 

# Tao mang co 5 phan tu cach deu, bat dau tai 10, ket thuc tai 20 
arrA = np.linspace(10,20,5) 
print(arrA)

Kết quả:

[10.  12.5  15.  17.5  20. ]

Mặc định hàm np.linspace() sẽ tự động lấy các giá trị từ điểm bắt đầu của dãy số và điểm kết thúc của dãy số vào trong kết quả. Ví dụ np.linspace(10,20,5) = [10.  12.5  15.  17.5  20.] – giả sử như chúng ta chỉ cần lấy bắt đầu từ điểm đầukhông lấy điểm kết thúc của dãy số. Khi đó trong hàm np.linspace() ta cần truyền thêm tham số endpoint = False như sau:

import numpy as np 

# Tao mang co 5 phan tu cach deu, bat dau tai 10, ket thuc tai 20 
arrA = np.linspace(10, 20, 5, endpoint=False) # Khong lay phan tu tai diem ket thuc
print(arrA)

Kết quả:

[10. 12. 14. 16. 18.]

Để kiểm tra xem, giá trị cách đều của mỗi phần tử trong mảng là bao nhiêu, khi đó ta chỉ cần truyền vào tham số retstep=True vào trong hàm np.linspace() – khi đó kết quả trả về sẽ là một tuple bao gồm phần tử đầu tiên sẽ là mảng cách đều được tạo, phần tử thứ hai chính là giá trị cách đều giữa các phần tử.

import numpy as np 

# Tao mang co 5 phan tu cach deu, bat dau tai 10, ket thuc tai 20 
arrA = np.linspace(10, 20, 5, retstep=True) # Tra ve gia tri cach deu
# Ket qua la tuple gom 2 phan tu 
print(arrA)

Kết quả:

(array([10. , 12.5, 15. , 17.5, 20. ]), 2.5)