Trong bài viết này, chúng ta sẽ tìm hiểu về các ma trận trong Python bằng cách sử dụng danh sách lồng nhau (danh sách lồng ghép) và thư viện NumPy Ma trận là cấu trúc dữ liệu hai chiều, trong đó các số được sắp xếp thành các hàng và cột. Ví dụ Đây là ma trận 3x4 vì nó có 3 hàng và 4 cột Ma trận trong PythonPython không có kiểu xây dựng dành riêng cho ma trận, vì vậy chúng ta có thể biểu diễn ma trận dưới dạng danh sách lồng nhau Vậy danh sách lồng nhau là gì? Danh sách lồng nhau là dạng danh sách lồng ghép, nghĩa là danh sách xuất hiện với vai trò là phần tử của một danh sách khác. Ví dụ A = [ 1, 4, 5, [8, 9]]
Ở ví dụ này, nếu in ra A[3] ta được xuất là [8, 9] Danh sách lồng nhau thường được sử dụng để trình bày ma trận trong Python. Biểu tượng như sau A = [[1, 4, 5],
[-5, 8, 9]]
We could coi this list is a ma trận bao gồm 2 hàng và 3 cột Để xuất phần tử từ ma trận, ta có thể chọn cả một hàng của ma trận theo cách thông thường hoặc sử dụng dạng chỉ số kép, chỉ số thứ nhất để chọn hàng, còn cột thứ hai được chọn. Cùng xem ví dụ sau A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print("A =", A)
print("A[1] =", A[1]) # Hàng thứ 2 của ma trân
print("A[1][2] =", A[1][2]) # Phần tử thứ 3 của hàng thứ 2
print("A[0][-1] =", A[0][-1]) # Phần tử cuối cùng của hàng 1
column = [];
for row in A:
column.append(row[2])
print("Cột thứ 3 =", column)
Chạy chương trình, đầu ra được trả về là A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
Cột thứ 3 = [5, 9, 11]
Sử dụng danh sách lồng nhau để biểu diễn ma trận là một cách thông dụng và thường được sử dụng trong các tính toán đơn giản. Tuy nhiên, có một cách hay hơn đó là sử dụng thư viện NumPy Use NumPy cho ma trậnNumPy là thư viện được viết bằng Python Phục vụ cho việc tính toán khoa học, hỗ trợ nhiều loại dữ liệu đa chiều giúp cho việc tính toán, lập trình, làm việc với các hệ thống cơ sở dữ liệu cực kỳ thuận tiện. Để tạo một ma trận ta có thể sử dụng ndarray (viết gọn là mảng) của NumPy Mảng này là một mảng đối tượng đa chiều thuần nhất tức là mọi phần tử đều giống nhau 1 kiểu Please try with a example import numpy as np
a = np.array([1, 2, 3])
print(a)
# Output: [1, 2, 3]
print(type(a))
# Output: <class 'numpy.ndarray'>
Cách tạo mảng của NumPyMảng số nguyên, số thực, số phức (integer, float, complex) import numpy as np
A = np.array([[1, 2, 3], [3, 4, 5]])
print(A)
A = np.array([[1.1, 2, 3], [3, 4, 5]]) # mảng số thực
print(A)
A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # mảng số phức
print(A)
Chương trình trả về kết quả [[1 2 3]
[3 4 5]]
[[1.1 2. 3. ]
[3. 4. 5. ]]
[[1.+0.j 2.+0.j 3.+0.j]
[3.+0.j 4.+0.j 5.+0.j]]
Default value default (0 and 1) import numpy as np
# Mọi phần tử đều là 0 A = np.zeros( (2, 3) ) print(A)
# Output: [[0. 0. 0.] [0. 0. 0.]]
# Mọi phần tử đều là 1 B = np.ones( (1, 5) ) print(B)
# Output: [[1 1 1 1 1]] Use arange() and shape() ________số 8Các phép toán với ma trậnCác phép toán trên ma trận là các phép toán cơ bản khi làm việc. Trong phần này, Quantrimang chỉ đề cập đến 3 phép toán cơ bản thường được sử dụng là cộng ma trận, nhân ma trận và chuyển vị trí ma trận Các phép toán ở đây sử dụng cả danh sách lồng nhau và thư viện NumPy Cộng 2 trận Để cộng hai ma trận, ta cộng từng phần tử tương ứng của 2 ma trận cùng cấp với nhau import numpy as np
A = np.array([[2, 4], [5, -6]]) B = np.array([[9, -3], [3, 6]]) C = A + B print(C)
''' Output: [[11 1] [ 8 0]] ''' Nhân 2 ma trậnNhân 2 ma trận được phép lấy tổng của từng phần tử của hàng tương ứng với các cột tương ứng Chú thích. Nhân ma trận chỉ xảy ra khi số cột của trận A bằng với số hàng của trận B. Ví dụ cho 2 ma trận [A]mp và [B]pn, chúng ta phân tích theo thứ tự đó sẽ có kết quả là ma trận [AB]mn Biểu tượng diễn ra với NumPy như sau A = [[1, 4, 5],
[-5, 8, 9]] 0Chuyển vị trí ma trậnChuyển vị trí được phép biến thành hàng cột và hàng thành cột của một ma trận A = [[1, 4, 5],
[-5, 8, 9]] 1Xuất các phần tử, cột, dòng của ma trậnExport the death section of the ma trậnTương tự với cách xuất ra bằng danh sách, chúng tôi có thể sử dụng bằng NumPy. Before first, try to an array A = [[1, 4, 5],
[-5, 8, 9]] 2Đầu ra được trả về ở đây là A = [[1, 4, 5],
[-5, 8, 9]] 3Ví dụ về mảng hai chiều A = [[1, 4, 5],
[-5, 8, 9]] 4Chạy chương trình, kết quả được trả về là A = [[1, 4, 5],
[-5, 8, 9]] 5Export lines of ma trậnA = [[1, 4, 5],
[-5, 8, 9]] 6Đầu ra được trả về ở đây là A = [[1, 4, 5],
[-5, 8, 9]] 7Xuất các cột của ma trậnA = [[1, 4, 5],
[-5, 8, 9]] 8Đầu ra được trả về A = [[1, 4, 5],
[-5, 8, 9]] 9Lát cắt của Ma trậnLát cắt của một mảng trong NumPy được biểu diễn tương tự như danh sách A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print("A =", A)
print("A[1] =", A[1]) # Hàng thứ 2 của ma trân
print("A[1][2] =", A[1][2]) # Phần tử thứ 3 của hàng thứ 2
print("A[0][-1] =", A[0][-1]) # Phần tử cuối cùng của hàng 1
column = [];
for row in A:
column.append(row[2])
print("Cột thứ 3 =", column) 0Do đó để cắt ma trận, ta có ví dụ sau A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print("A =", A)
print("A[1] =", A[1]) # Hàng thứ 2 của ma trân
print("A[1][2] =", A[1][2]) # Phần tử thứ 3 của hàng thứ 2
print("A[0][-1] =", A[0][-1]) # Phần tử cuối cùng của hàng 1
column = [];
for row in A:
column.append(row[2])
print("Cột thứ 3 =", column) 1Vì vậy, như bạn đã thấy, sử dụng thư viện NumPy thay vì danh sách lồng nhau làm cho các phép toán với ma trận dễ dàng hơn rất nhiều. Quantrimang khuyên bạn nên tìm hiểu và học cách sử dụng thư viện NumPy thực sự có kỹ năng đặc biệt khi sử dụng Python để áp dụng cho công việc tính toán khoa học hay phân tích dữ liệu Chúc các bạn thành công Xem thêm - Array in Python
- Các hàm trong Python
- Hơn 100 bài tập Python có lời giải (mẫu mã)
- Hàm setattr() trong Python
- Khai báo @property trong Python
- Decorator trong Python
Thứ Năm, 22/08/2019 10. 30 4,7 ★ 13 👨 96. 017 #Trăn # 0 Bình luận Sắp xếp theo Delete Login to Send Bạn nên đọc - PC Apple khiến khách hàng hài lòng nhất 10 năm liền
- Thực hiện ngay 6 bước này khi bạn có ý định tìm một công việc hoàn hảo
- Sắp có Nokia 5530 XpressMusic
- Hàng loạt thiết bị và trang web gặp sự cố không thể truy cập do Let's Encrypt hết chứng chỉ gốc
- Motorola Xoom giá 699 USD, bán ra ngày 17/2
- Google thừa nhận SEO thất bại
con trăn - Hàm object() trong Python
- Tìm hiểu Class và Object trong Python
- Hàm open() trong Python
- Đa kế thừa (Multiple Inheritance) trong Python
- Hàm len() trong Python
- Hàm float() trong Python
Xem thêmTrăn 3 - Python cơ bản
- Python là gì?
- Cách cài đặt Python trên Windows, macOS, Linux
- Từ khoá và định danh
- Cách viết lệnh, thụt lề và chú thích
- Data type. string, number, list, tuple, set and dictionary
- First Python search program
- Array in Python
- Cách sử dụng Danh sách hiểu
- Điều khiển luồng và vòng lặp
- Ra lệnh nếu, nếu. khác, nếu. yêu tinh. khác
- Vòng lặp cho
- Vòng lặp trong khi
- Ngắt lệnh và tiếp tục
- vượt qua lệnh
- Các kỹ thuật vòng lặp
- hàm trăn
- Các hàm trong Python
- Các hàm Python tích hợp sẵn
- Hàm Python do người dùng định nghĩa
- Tham số hàm Python
- Hàm đệ quy trong Python
- Hàm vô danh, Lambda
- Các loại biến trong Python
- Global key
- mô-đun
- gói
- Tệp trong Python
- Làm việc với File
- Quản lý tệp và thư mục
- Lỗi (Lỗi) và Ngoại lệ (Ngoại lệ)
- Xử lý ngoại lệ - Xử lý ngoại lệ
- Class và Object trong Python
- Lập trình hướng đối tượng - OOP
- Tìm hiểu Lớp và Đối tượng
- Kế thừa (Inheritance)
- Kế thừa (Multiple Inheritance)
- Nạp tiền điện tử
- Python nâng cao
- Ma trận trong Python
- Đối tượng Iterator trong Python
- Trình tạo trong Python
- Closure trong Python
- Decorator trong Python
- @property trong Python
- RegEx trong Python
- Ngày giờ trong Python
- Ngày giờ trong Python
- Hàm datetime. strftime()
- Hàm datetime. strptime()
- Hiện tại ngày
- Chuyển đổi dấu thời gian
- thời gian mô-đun
- thời gian hàm. ngủ()
- Python file
- Hơn 100 bài tập Python có lời giải (mẫu mã)
- Passive method 2 a hide by Python
- Trace Python
- Trắc nghiệm Python - Phần 1
- Trắc nghiệm Python - Phần 2
- Trắc nghiệm Python - Phần 3
- Trắc nghiệm Python - Phần 4
- Trắc nghiệm Python - Phần 5
- Trắc nghiệm Python - Phần 6
- Trắc Nghiệm Python - Phần 7
- Trắc nghiệm Python - Phần 8
- Trắc nghiệm Python - Phần 9
- Python Quiz - Phần 10
- Trắc nghiệm Python - Phần 11
- công nghệ
- Ứng dụng
- hệ thống
- Game - Trò chơi
- điện thoại Iphone
- Android
- Linux
- Nền web
- Đồng hồ thông minh
- Chụp ảnh - Quay phim
- hệ điều hành Mac
- Phần cứng
- SEO thủ thuật
- base format
- quả mâm xôi
- Dịch vụ ngân hàng
- Lập trình
- Online service
- Dịch vụ nhà mạng
- Nhà thông minh
- Tải xuống
- Ứng dụng văn phòng
- Tải game
- Hệ thống tiện ích
- Ảnh, đồ họa
- Internet
- Bảo mật, Antivirus
- Họp, học trực tuyến
- Video, phim, nhạc
- Thư
- Lưu trữ đám mây
- Giao tiếp, liên lạc, hẹn hò
- Support for learning
- Máy ảo
- Tiện ích
- Khoa học
- Khoa học vui
- Khám phá khoa học
- Bí ẩn - Chuyện lạ
- Chăm sóc sức khỏe
- Khoa học Vũ trụ
- Khám phá thiên nhiên
- Điện máy
- tủ lạnh
- tivi
- Điều hòa
- Máy giặt
- Cuộc sống
- Kỹ năng
- Món ngon mỗi ngày
- làm đẹp
- nuôi dạy con
- Chăm sóc nhà cửa
- Kinh nghiệm Du lịch
- Halloween
- mẹo vặt
- giáng sinh - noel
- tết 2023
- quà tặng
- Giải trí
- Là gì?
- nhà đẹp
- ĐỨNG ĐẦU
- phong thuỷ
- Video
- công nghệ
- Phòng thí nghiệm của Cisco
- Phòng thí nghiệm của Microsoft
- Video Khoa học
- Ô tô, Xe máy
- Làng công nghệ
- Tấn công mạng
- Công nghệ
- new technology
- Trí tuệ nhân tạo (AI)
- Anh tài công nghệ
- Bình luận công nghệ
- Tổng hợp
- Học CNTT
- quiz technology
- Microsoft Word 2016
- Microsoft Word 2013
- Word 2007
- Excel 2019
- Excel 2016
- Microsoft PowerPoint 2019
- Microsoft PowerPoint 2016
- Google Trang tính - Trang tính
- photoshop CS6
- photoshop CS5
- HTML
- CSS và CSS3
- con trăn
- Học SQL
- Lập trình C
- Lập trình C++
- Lập trình C#
- Học HTTP
- Bootstrap
- Máy chủ SQL
- JavaScript
- Học PHP
- jQuery
- Học MongoDB
- Unix/Linux
- Học Git
- NodeJS
Giới thiệu . Điều khoản . Bảo mật . Hướng dẫn . Ứng dụng . Liên hệ . Quảng cáo . Facebook . Youtube . DMCA Giấy phép số 362/GP-BTTTT. Bộ Thông tin và Truyền thông cấp ngày 30/06/2016. Cơ quan chủ quản. CÔNG TY CỔ PHẦN MẠNG TRỰC TUYẾN META. Địa chỉ. 56 Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội. Điện thoại. 024 2242 6188. Email. info@meta. vn. Chịu trách nhiệm nội dung. Lê Ngọc Lam Bản quyền © 2003-2022 QuanTriMang. com. Giữ toàn quyền. Không được sao chép hoặc sử dụng hoặc phát hành lại bất kỳ nội dung nào thuộc QuanTriMang. com khi chưa được phép |