Cách tạo ma trận trong python bằng danh sách
Hướng dẫn này sẽ trình bày các phương thức khác nhau có sẵn để chuyển đổi danh sách thành ma trận trong Python Show
Cả danh sách và ma trận đều là các kiểu dữ liệu khác nhau do Python cung cấp để lưu trữ một số mặt hàng dưới một biến duy nhất. Truy cập các mục này trở nên tương đối dễ dàng trong cả hai trường hợp Thật không may, chúng tôi không thể thực hiện một số chức năng toán học trên danh sách. Do đó, trong hầu hết các trường hợp, danh sách được chuyển đổi thành ma trận hoặc mảng để thực hiện thành công các hàm toán học cụ thể Python không trực tiếp chứa kiểu dữ liệu mảng mà chứa các ma trận là các lớp con của mảng, cung cấp cho chúng tất cả các tính năng của một mảng ngoài các tính năng của chính chúng. Có một số cách để chuyển đổi danh sách thành ma trận trong Python, tất cả đều được đề cập bên dưới Sử dụng Cắt vòng lặp và Danh sách để Chuyển đổi Danh sách thành Mảng hoặc Ma trận trong PythonMột ma trận đơn giản có thể được tạo bằng cách sử dụng khái niệm danh sách lồng nhau. Trong phương pháp này, nhiệm vụ là chuyển đổi danh sách chứa các mục đã cho thành danh sách Điều này có thể được thực hiện bằng cách sử dụng đơn giản vòng lặp, hàm 3 và khái niệm cắt danh sách. Ở đây, chúng tôi sẽ sử dụng vòng lặp 4 để thực hiện nhiệm vụ trong tầm tayĐoạn mã sau sử dụng vòng lặp và cắt danh sách để chuyển đổi danh sách thành ma trận trong Python
đầu ra
Trong đoạn mã trên, chúng tôi chọn triển khai danh sách cắt giá trị 5. Điều này có thể thay đổi tùy theo nhu cầu của người dùng và có thể thay đổi vị trí của các phần tử trong ma trậnSử dụng hàm [[2, 10], [20, 200], [4000]] 0 từ thư viện Numpy để chuyển đổi danh sách thành mảng hoặc ma trận trong PythonNumPy là một thư viện thiết yếu cho phép người dùng tạo và thao tác với các mảng và ma trận trong Python Phương thức 1 có thể khai báo mảng trong Python. Một danh sách có thể được lấy trực tiếp làm đối số cho hàm này và kết quả sau khi sử dụng hàm này là một ma trậnThư viện NumPy cần được nhập vào mã Python để chạy chương trình này mà không có bất kỳ lỗi nào Đoạn mã sau sử dụng hàm 5 từ thư viện NumPy để chuyển đổi danh sách thành mảng hoặc ma trận trong Python 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; . 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 ________số 8#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 0#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 2đầ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 4đầ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ụ 5đầ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 6đầ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 8#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 để trở 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. |