1. Tạo mảng từ dữ liệu có sẵn với np.asarray()

Như chúng ta đã biết, trong Python chúng ta có các kiểu dữ liệu thường được sử dụng để lưu trữ tập hợp các giá trị đó là: LIST, TUPLE – tuy nhiên các kiểu dữ liệu này không phải một kiểu mảng trong Python.

Khi làm việc với Numpy, ta cũng có thể tạo ra một mảng Numpy dựa trên các kiểu dữ liệu có sẵn trong Python như là List, Tuple, Set. Để thực hiện việc này, ta cần sử dụng hàm np.asarray()  – hàm này sẽ thực hiện chuyển đổi các kiểu List, Tuple, về kiểu “numpy.ndarray”.

Ví dụ dưới đây, tạo một mảng một chiều và hai chiều trong Numpy từ một List có trong Python bằng cách sử dụng hàm np.asarray() như sau:

import numpy as np

# Khai bao list
listA = [1,2,3,4]
# Tao mang 1 chieu tu list
arrA = np.asarray(listA)

# Khai bao list
listB = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]

# Tao mang 2 chieu tu list
arrB = np.asarray(listB)

# Hien thi ket qua
print("Mang 1 chieu vua tao la")
print(arrA)

print("Mang 2 chieu vua tao la")
print(arrB)

Tương tự, chúng ta cũng có thể tạo một chiều và hai chiều trong Numpy từ kiểu Tuple có trong Python bằng cách sử dụng hàm np.asarray() như sau:

import numpy as np

# Khai bao tuple
tupleA = (1,2,3,4)
# Tao mang 1 chieu tu tuple
arrA = np.asarray(tupleA)

# Khai bao tuple
tupleB = (
    (1,2,3),
    (4,5,6),
    (7,8,9)
)

# Tao mang 2 chieu tu tuple
arrB = np.asarray(tupleB)

# Hien thi ket qua
print("Mang 1 chieu vua tao la")
print(arrA)

print("Mang 2 chieu vua tao la")
print(arrB)

Kết quả:

Mang 1 chieu vua tao la
[1 2 3 4]
Mang 2 chieu vua tao la
[[1 2 3]
 [4 5 6]
 [7 8 9]]

2. Tạo mảng trong khoảng với np.fromiter()

Khi sử dụng Python, chúng ta đã sử dụng khá nhiều với hàm range(), hàm này giúp ta tạo ra một số giá trị có trong một khoảng được chỉ định sẵn. Tuy nhiên, các giá trị được thể hiển bởi hàm range() không tồn tại như một mảng.

Ví dụ tạo 1 khoảng giá trị từ 0 đến 10 với hàm range() trong Python:

import numpy as np 

list = range(10) 
print(list)

Kết quả:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Khi làm việc với Numpy chúng ta hoàn toàn có thể tạo ra một mảng Numpy chứa các giá trị thuộc một khoảng nào đó thông qua hàm range() của Python và hàm np.fromiter() – hàm này sẽ chuyển đổi các giá trị trong khoảng thành các phần tử và xếp chúng vào một mảng có kiểu “numpy.ndarray”.

Ví dụ dưới đây, tạo một mảng một chiều trong Numpy từ hàm range() với khoảng giá trị từ 0 đến 10 bằng cách sử dụng hàm np.fromiter() như sau:

import numpy as np

# Tao khoang gia tri tu 0 den 10
list = range(10) 
# Tao doi tuong lap inter
it = iter(list)  
# Tao mang tu doi tuong lap iter
arrA = np.fromiter(it, dtype = int) 
# Hien thi ket qua
print(arrA)
print(type(arrA))

Kết quả:

[0 1 2 3 4 5 6 7 8 9]
<class 'numpy.ndarray'>