Rate this post

Ndarray là đối tượng mảng n chiều được định nghĩa trong numpy lưu trữ tập hợp các phần tử giống nhau. Nói cách khác, chúng ta có thể định nghĩa một ndarray là tập hợp các đối tượng kiểu dữ liệu (dtype).

Đối tượng ndarray có thể được truy cập bằng cách sử dụng lập chỉ mục dựa trên 0. Mỗi phần tử của đối tượng Array chứa cùng kích thước trong bộ nhớ.

Tạo một đối tượng ndarray

Đối tượng ndarray có thể được tạo bằng cách sử dụng quy trình mảng của mô-đun numpy. Với mục đích này, chúng ta cần nhập numpy.

a = numpy.array

Hãy xem xét hình ảnh dưới đây.

Chúng ta cũng có thể truyền một đối tượng tập hợp vào quy trình mảng để tạo mảng n chiều tương đương. Cú pháp được đưa ra dưới đây.

Các thông số được mô tả trong bảng sau.

SNParameterDescription
1objectNó đại diện cho tập hơp đối tượng. Nó có thể là một danh sách, bộ tuple, từ điển, bộ, v.v.
2dtypeChúng ta có thể thay đổi kiểu dữ liệu của các phần tử mảng bằng cách thay đổi tùy chọn này thành kiểu được chỉ định. Mặc định là không có.
3copyNó là tùy chọn. Theo mặc định, nó là true có nghĩa là đối tượng được sao chép.
4orderCó thể có 3 giá trị có thể được gán cho tùy chọn này. Nó có thể là C (thứ tự cột), R (thứ tự hàng) hoặc A (bất kỳ)
5subokMảng được trả về sẽ là mảng lớp cơ sở theo mặc định. Chúng ta có thể thay đổi điều này để làm cho các lớp con đi qua bằng cách đặt tùy chọn này thành true.
6ndminNó đại diện cho kích thước tối thiểu của mảng kết quả.

Để tạo một mảng bằng cách sử dụng danh sách, hãy sử dụng cú pháp sau.

a = numpy.array ([1, 2, 3])

Để tạo một đối tượng mảng nhiều chiều, hãy sử dụng cú pháp sau.

a = numpy.array ([[1, 2, 3], [4, 5, 6]])

Để thay đổi kiểu dữ liệu của các phần tử mảng, hãy đề cập đến tên của kiểu dữ liệu cùng với tập hợp.

a = numpy.array ([1, 3, 5, 7], phức hợp)

Tìm dimensions của mảng

Hàm ndim có thể được sử dụng để tìm kích thước của mảng.

>>> import numpy as np  
>>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]])  
  
>>> print(arr.ndim)

Tìm kích thước của mỗi phần tử mảng

Hàm itemsize được sử dụng để lấy kích thước của từng mục mảng. Nó trả về số byte được lấy bởi mỗi phần tử mảng.

Hãy xem xét ví dụ sau.

Thí dụ

#tìm kích thước của từng mục trong mảng
import numpy as np  
a = np.array([[1,2,3]])  
print("Each item contains",a.itemsize,"bytes")  

Tìm kiểu dữ liệu của từng mục mảng

Để kiểm tra kiểu dữ liệu của từng mục mảng, hàm dtype được sử dụng. Hãy xem xét ví dụ sau để kiểm tra kiểu dữ liệu của các mục mảng.

Thí dụ

#finding kiểu dữ liệu của từng mục mảng
import numpy as np  
a = np.array([[1,2,3]])  
print("Each item is of the type",a.dtype)  

Tìm Shape và size của mảng

Để có được hình dạng và kích thước của mảng, hàm kích thước và hình dạng được liên kết với mảng numpy được sử dụng.

Hãy xem xét ví dụ sau.

Thí dụ

import numpy as np  
a = np.array([[1,2,3,4,5,6,7]])  
print("Array Size:",a.size)  
print("Shape:",a.shape)  

Định hình lại các đối tượng mảng

Theo hình dạng của mảng, chúng tôi có nghĩa là số hàng và cột của một mảng nhiều chiều. Tuy nhiên, mô-đun numpy cung cấp cho chúng ta cách định hình lại mảng bằng cách thay đổi số hàng và cột của mảng nhiều chiều.

Hàm reshape () liên kết với đối tượng ndarray được sử dụng để định hình lại mảng. Nó chấp nhận hai tham số chỉ ra hàng và cột của hình dạng mới của mảng.

Hãy định hình lại mảng được cho trong hình sau.

Thí dụ

import numpy as np  
a = np.array([[1,2],[3,4],[5,6]])  
print("printing the original array..")  
print(a)  
a=a.reshape(2,3)  
print("printing the reshaped array..")  
print(a)  

Slicing trong mảng

Slicing trong mảng NumPy là cách để trích xuất một loạt các phần tử từ một mảng. Việc cắt trong mảng được thực hiện giống như cách nó được thực hiện trong danh sách python.

Hãy xem xét ví dụ sau để in một phần tử cụ thể của mảng.

Thí dụ

import numpy as np  
a = np.array([[1,2],[3,4],[5,6]])  
print(a[0,1])  
print(a[2,0])  

Chương trình trên in phần tử thứ 2 từ chỉ số thứ 0 và phần tử thứ 0 từ chỉ số thứ 2 của mảng.

Linspace

Hàm linspace () trả về các giá trị cách đều nhau trong khoảng thời gian nhất định. Ví dụ sau trả về 10 giá trị được phân tách đồng đều trong khoảng thời gian nhất định 5-15

Thí dụ

import numpy as np  
a=np.linspace(5,15,10) #prints 10 giá trị phân cách đều trong khoảng 5-15  
print(a)  

Tìm Max, Min và Sum của các phần tử mảng

NumPy cung cấp các hàm max (), min () và sum () được sử dụng để tìm giá trị lớn nhất, nhỏ nhất và tổng của các phần tử mảng tương ứng.

Hãy xem xét ví dụ sau.

Thí dụ

import numpy as np  
a = np.array([1,2,3,10,15,4])  
print("The array:",a)  
print("The maximum element:",a.max())  
print("The minimum element:",a.min())  
print("The sum of the elements:",a.sum())  

Trục mảng NumPy

Mảng đa chiều NumPy được biểu thị bằng trục trong đó trục-0 biểu thị các cột và trục-1 biểu thị các hàng. Chúng ta có thể đề cập đến trục để thực hiện các phép tính cấp hàng hoặc cấp cột giống như việc bổ sung các phần tử hàng hoặc cột.

Để tính phần tử lớn nhất giữa mỗi cột, phần tử nhỏ nhất trong mỗi hàng và việc cộng tất cả các phần tử của hàng, hãy xem xét ví dụ sau.

Thí dụ

import numpy as np  
a = np.array([[1,2,30],[10,15,4]])  
print("The array:",a)  
print("The maximum elements of columns:",a.max(axis = 0))   
print("The minimum element of rows",a.min(axis = 1))  
print("The sum of all rows",a.sum(axis = 1))  

Tìm căn bậc hai và độ lệch chuẩn

Các hàm sqrt () và std () được liên kết với mảng numpy được sử dụng để tìm căn bậc hai và độ lệch chuẩn của các phần tử mảng tương ứng.

Độ lệch chuẩn có nghĩa là mỗi phần tử của mảng thay đổi bao nhiêu so với giá trị trung bình của mảng numpy.

Hãy xem xét ví dụ sau.

Thí dụ

import numpy as np  
a = np.array([[1,2,30],[10,15,4]])  
print(np.sqrt(a))  
print(np.std(a))  

Các phép toán số học trên mảng

Mô-đun numpy cho phép chúng ta thực hiện các phép tính số học trên mảng nhiều chiều một cách trực tiếp.

Trong ví dụ sau, các phép tính số học được thực hiện trên hai mảng nhiều chiều a và b.

Thí dụ

import numpy as np  
a = np.array([[1,2,30],[10,15,4]])  
b = np.array([[1,2,3],[12, 19, 29]])  
print("Sum of array a and b\n",a+b)  
print("Product of array a and b\n",a*b)  
print("Division of array a and b\n",a/b)  

Nối mảng

Numpy cung cấp cho chúng ta khả năng xếp chồng dọc và xếp chồng ngang cho phép chúng ta ghép hai mảng đa chiều theo chiều dọc hoặc chiều ngang.

Hãy xem xét ví dụ sau.

Thí dụ

import numpy as np  
a = np.array([[1,2,30],[10,15,4]])  
b = np.array([[1,2,3],[12, 19, 29]])  
print("Arrays vertically concatenated\n",np.vstack((a,b)));  
print("Arrays horizontally concatenated\n",np.hstack((a,b)))  

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now