Cách in ma trận bằng Python bằng NumPy
Ma trận (dạng số nhiều của ma trận) là một mảng dữ liệu 2 chiều theo hàng và cột. Ma trận là một phần chính của đại số tuyến tính và chúng có thể được sắp xếp để làm những điều phi thường trong toán học. Trong hướng dẫn này, bạn sẽ học cách tạo ma trận từ danh sách trong Python. Ngoài ra, chúng tôi sẽ sử dụng thư viện NumPy để tạo mảng NumPy; . Show
Cụ thể, đến cuối hướng dẫn này, bạn sẽ học
Ma trận là gìMa trận chỉ đơn giản là một cách thu thập dữ liệu theo hàng và cột. Chúng tôi biết dữ liệu có thể được thu thập theo bộ, danh sách, v.v. Khi nói đến ma trận, chúng được chia thành các hàng và cột. Nếu bạn không chắc hàng và cột là gì, hàng là trục hoành. Mặt khác, cột là dữ liệu nhìn thấy trong trục tung Một ma trận trong toán học có thể được xác định bởi kích thước của nó; . Dưới đây là một ví dụ về ma trận Vì nó có 3 hàng và 2 cột nên nó là ma trận 3 nhân 2. Ở hàng 1, bạn có các giá trị 2, -1 Hãy xem cách thể hiện điều này trong Python. Biểu diễn một ma trận trong PythonKhông có cách biểu diễn trực tiếp kiểu dữ liệu ma trận trong Python. Kiểu dữ liệu gần nhất với ma trận là kiểu dữ liệu danh sách và do đó, thường được sử dụng để tạo ma trận Tuy nhiên, thư viện Numpy cung cấp một cách khác để biểu diễn ma trận trong Python, kiểu dữ liệu mảng NumPy. Chúng ta sẽ thảo luận về cả hai phương pháp trong hướng dẫn này. Tạo Ma trận bằng Danh sách Python.Một danh sách trong python là một tập hợp các dữ liệu đồng nhất, được đóng gói bởi các dấu ngoặc vuông và mỗi dấu cách nhau bởi dấu phẩy. Theo mặc định, danh sách được xem dưới dạng ma trận có một hàng trong khi cột phụ thuộc vào số lượng phần tử mà nó có. Hãy xem một ví dụ #create a one-dimensional list list_1 = [1, -2, 0] Danh sách được tạo là ma trận 1 x 3 vì nó chứa 3 phần tử và đó là một danh sách duy nhất. Sau đó, câu hỏi lớn là, làm cách nào để tạo danh sách có nhiều hơn 1 hàng? Nếu chúng ta muốn tạo một danh sách có nhiều hơn một hàng, chúng ta mở 2 dấu ngoặc vuông và đóng gói mỗi hàng bên trong một dấu ngoặc vuông. Xem cách nó được thực hiện bên dưới #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']] Bây giờ, hãy tạo ma trận 3 x 2 bằng cách sử dụng danh sách lồng nhau #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]] Truy cập phần tử trong danh sách PythonNếu bạn muốn truy cập các phần tử cụ thể trong danh sách, bạn có thể làm như vậy bằng cách lập chỉ mục. Để lấy toàn bộ hàng, bạn chuyển chỉ mục hàng trong ngoặc vuông. Giả sử chúng ta muốn truy cập hàng đầu tiên trong danh sách trên. Chúng tôi có thể viết #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]] #print the first row print(list_1[0]) #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]5 Để lấy một phần tử cụ thể, hãy chuyển chỉ mục hàng và cột trong các dấu ngoặc vuông riêng biệt, như trong [‘chỉ mục hàng’][‘chỉ mục cột’]. Trong ma trận trên, nếu chúng ta muốn truy cập phần tử ở hàng đầu tiên và cột thứ hai, chúng ta có thể thực hiện bằng đoạn mã sau #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]] #print the element in the first row and second column print(list_1[0][1]) #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]6 Thêm ma trận trong PythonBạn có thể thêm danh sách dưới dạng ma trận trong Python. Xem ví dụ bên dưới #define the two matrices to be added list_1 = [[1, 4, 3], [10,2,4], [-1,3,2]] list_2 = [[3, 6, -6], [2,5,-2], [-2,6,3]] #define a list to store the result addtion_result = [[0,0,0], [0,0,0], [0,0,0]] #add the two lists based on their index for i, _ in enumerate(list_1): for j, _ in enumerate(list_2): addtion_result[i][j] = list_1[i][j] + list_2[i][j] #To Print the matrix print(f" The addition of list_1 and list_2 is \n{addtion_result}") đầu ra #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]7 Phép trừ ma trận trong Python.Ngoài ra, bạn có thể thực hiện phép trừ dựa trên phần tử với danh sách lồng nhau. Xem một ví dụ dưới đây #define the two matrices to be added list_1 = [[1, 4, 3], [10,2,4], [-1,3,2]] list_2 = [[3, 6, -6], [2,5,-2], [-2,6,3]] #define a list to store the result addtion_result = [[0,0,0], [0,0,0], [0,0,0]] #multiply the two lists based on their index for i, _ in enumerate(list_1): for j, _ in enumerate(list_2): addtion_result[i][j] = list_1[i][j] - list_2[i][j] #To Print the matrix print(f" The subtraction of list_1 and list_2 is \n{addtion_result}") đầu ra Phép trừ của list_1 và list_2 là Sử dụng thư viện NumPy để tạo và thao tác ma trậnNumpy là một thư viện phổ biến được sử dụng để tính toán số trong python. Trên thực tế, cái tên NumPy là viết tắt của Numerical Python. Bạn có thể tạo ma trận bằng thư viện NumPy. Trong phần này, chúng ta sẽ tạo và thực hiện các tính toán trong ma trận bằng cách sử dụng Numpy. Nếu bạn chưa cài đặt thư viện trên máy của mình, bạn có thể làm như vậy bằng cách nhập cài đặt pip gọn gàng trên dấu nhắc lệnh của bạn. Điều quan trọng là phải nói rằng NumPy được cài đặt sẵn nếu bạn đang sử dụng sổ ghi chép Jupyter. Bạn sẽ không cần cài đặt lại NumPy Khi bạn đã cài đặt thành công numpy, bây giờ chúng ta hãy bắt đầu tạo ma trận với thư viện Tạo ma trận với NumpyTrong Numpy, ma trận ở dạng mảng NumPy. Danh sách được chuyển đổi thành mảng Numpy bằng cách gọi phương thức array() và chuyển danh sách. Hãy xem một ví dụ #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]0 đầu ra [1 2 3]Như đã thấy từ kết quả, ma trận của một đối tượng có kiểu dữ liệu ndarray (mảng n chiều) Bổ sung các ma trận trong NumpyViệc thêm ma trận vào NumPy dễ dàng hơn nhiều so với việc thêm danh sách trong ví dụ trước đó. Sau khi xác định các mảng sẽ được thêm vào, bạn chỉ cần sử dụng toán tử + để cho biết bạn muốn các ma trận được thêm vào. Xem ví dụ bên dưới #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]1 đầu ra #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]8 Dễ dàng phải không?
Điều tương tự cũng xảy ra với phép trừ ma trận Phép trừ ma trận với Numpy#create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]3 #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]9 Nhân hai ma trận trong NumpyĐể nhân hai ma trận trong Numpy, bạn có thể sử dụng phương thức dot() của NumPy. Xem một ví dụ #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]0 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]0 Chuyển đổi ma trận trong NumPyChuyển đổi một ma trận liên quan đến việc chuyển đổi các hàng thành các cột và cũng chuyển đổi các cột thành các hàng. Để trả về chuyển vị của một ma trận, có thể gọi phương thức transpose() #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]1 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]1 Ngoài ra, bạn có thể sử dụng thuộc tính T. #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]2 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]1 Như đã thấy, nó tạo ra kết quả tương tự Làm thế nào để cắt ma trậnGiống như trong danh sách, cắt lát là quá trình trả về một phần của ma trận. Dưới đây là một số điều quan trọng cần lưu ý về việc cắt lát.
Bây giờ hãy áp dụng một số trong số này với các ví dụ cụ thể. Cắt ma trận một chiều#create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]3 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]3 Cắt một mảng nhiều chiềuKhi cắt một mảng nhiều chiều, hàng và cột được phân tách bằng dấu phẩy #create a list with more than one row list_1 = [['first row'], ['second row'], ['third row'], ... ['last row']]4 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]4 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]5
[ 9 10 11 12]
#create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]6 #create a 3 by 2 list list_1 = [[2, -1], [0, 5], [4, 9]]7 Hãy kết luận.Trong hướng dẫn này, bạn đã khám phá cách tạo ma trận bằng cách sử dụng danh sách và mảng NumPy trong Python. Bạn cũng đã học cách thực hiện các phép tính số trên ma trận trong Numpy. Điều đáng nói là phương thức dot() và transpose(). Cuối cùng, bạn đã học cách cắt một đoạn ma trận cụ thể bằng cách chỉ định chỉ số hoặc phạm vi của nó. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại trong phần bình luận và tôi sẽ cố gắng hết sức để trả lời chúng. Làm cách nào để đọc ma trận trong Python bằng cách sử dụng numpy?Phương thức - 2 . # Một mã ví dụ để lấy đầu vào ma trận của người dùng nhập numpy dưới dạng np Rows = int(input("Cho số hàng. ")) Columns = int(input("Cho số cột. ")) print("Hãy viết các phần tử của ma trận trên một dòng và cách nhau bởi dấu cách. ") # Người dùng sẽ cung cấp các mục trong một dòng Làm thế nào để in dữ liệu numpy?Bước 1 - Nhập thư viện. nhập numpy dưới dạng np nhập sys Bước 2 - Lấy mảng mẫu. Sample_array_1 = np. arange(1001) print(Sample_array_1) [ 0 1 2. 998 999 1000]. Bước 3 - In kết quả cuối cùng Sample_array_2 = np. sắp xếp (100) np. set_printoptions(ngưỡng=sys Làm cách nào để tạo một mảng 2d trong numpy?Nếu chỉ dùng hàm arange thì sẽ ra mảng một chiều. Để biến nó thành một mảng hai chiều, hãy xâu chuỗi đầu ra của nó bằng hàm định hình lại . Đầu tiên, 20 số nguyên sẽ được tạo và sau đó nó sẽ chuyển đổi mảng thành mảng hai chiều có 4 hàng và 5 cột. |