Cách đọc ma trận trong Python

Viết chương trình Python để đọc ma trận từ bàn điều khiển và in tổng cho mỗi cột. Là đầu vào từ người dùng, chấp nhận các hàng, cột và phần tử ma trận được phân tách bằng khoảng trắng [mỗi hàng]

Giải pháp mẫu

Mã Python

rows = int[input["Input rows: "]]
columns = int[input["Input columns: "]]
matrix = [[0]*columns for row in range[rows]]
print['Input number of elements in a row [1, 2, 3]: ']
for row in range[rows]:
    lines = list[map[int, input[].split[]]]
    for column in range[columns]:
        matrix[row][column] = lines[column]

sum = [0]*columns
print["sum for each column:"]
for column in range[columns]:
    for row in range[rows]:
        sum[column] += matrix[row][column]
    print[[sum[column]], ' ', end = '']

Đầu ra mẫu

Input rows:  2
Input columns:  2
Input number of elements in a row [1, 2, 3]: 
 1 2
 3 4
sum for each column:
4  6 

Trình bày bằng hình ảnh


Sơ đồ


Trực quan hóa việc thực thi mã Python

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lấy đầu vào ma trận trong Python từ người dùng. Chúng tôi có thể lấy đầu vào từ người dùng theo hai cách khác nhau. Hãy xem hai trong số họ

Phương pháp 1

Lấy tất cả các số của ma trận từng cái một từ người dùng. Xem mã dưới đây

Ví dụ

# initializing an empty matrix
matrix = []
# taking 2x2 matrix from the user
for i in range[2]:
   # empty row
   row = []
   for j in range[2]:
      # asking the user to input the number
      # converts the input to int as the default one is string
      element = int[input[]]
      # appending the element to the 'row'
      row.append[element]
   # appending the 'row' to the 'matrix'
   matrix.append[row]
# printing the matrix
print[matrix]

đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau

1
2
3
4
[[1, 2], [3, 4]]

ma trận 2

Lấy một hàng tại một thời điểm với các giá trị được phân tách bằng dấu cách. Và chuyển đổi từng cái sang sử dụng hàm map và int. xem mã

Ma trận là trường hợp đặc biệt của mảng hai chiều trong đó mỗi phần tử dữ liệu có cùng kích thước. Vì vậy, mọi ma trận cũng là một mảng hai chiều nhưng không phải ngược lại

Ma trận là cấu trúc dữ liệu rất quan trọng cho nhiều tính toán toán học và khoa học. Như chúng ta đã thảo luận về cấu trúc dữ liệu mảng hai chiều trong chương trước, chúng ta sẽ tập trung vào các phép toán cấu trúc dữ liệu dành riêng cho ma trận trong chương này

Chúng tôi cũng đang sử dụng gói numpy để thao tác dữ liệu ma trận

Ví dụ về ma trận

Xét trường hợp ghi nhiệt độ trong 1 tuần đo vào buổi sáng, trưa, tối và nửa đêm. Nó có thể được trình bày dưới dạng ma trận 7X5 bằng cách sử dụng một mảng và phương thức định hình lại có sẵn trong numpy

from numpy import * 
a = array[[['Mon',18,20,22,17],['Tue',11,18,21,18],
   ['Wed',15,21,20,19],['Thu',11,20,22,21],
   ['Fri',18,17,23,22],['Sat',12,22,20,18],
   ['Sun',13,15,19,16]]]
m = reshape[a,[7,5]]
print[m]

đầu ra

Dữ liệu trên có thể được biểu diễn dưới dạng mảng hai chiều như bên dưới -

[
   ['Mon' '18' '20' '22' '17']
   ['Tue' '11' '18' '21' '18']
   ['Wed' '15' '21' '20' '19']
   ['Thu' '11' '20' '22' '21']
   ['Fri' '18' '17' '23' '22']
   ['Sat' '12' '22' '20' '18']
   ['Sun' '13' '15' '19' '16']
]

Truy cập giá trị

Các phần tử dữ liệu trong một ma trận có thể được truy cập bằng cách sử dụng các chỉ mục. Cách truy cập giống như cách truy cập dữ liệu trong mảng hai chiều

Ví dụ

from numpy import * 
m = array[[['Mon',18,20,22,17],['Tue',11,18,21,18],
   ['Wed',15,21,20,19],['Thu',11,20,22,21],
   ['Fri',18,17,23,22],['Sat',12,22,20,18],
   ['Sun',13,15,19,16]]]
    
# Print data for Wednesday
print[m[2]]

# Print data for friday evening
print[m[4][3]]

đầu ra

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

['Wed', 15, 21, 20, 19]
23

Thêm một hàng

Sử dụng mã được đề cập bên dưới để thêm một hàng trong ma trận

Ví dụ

________số 8_______

đầu ra

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

[
   ['Mon' '18' '20' '22' '17']
   ['Tue' '11' '18' '21' '18']
   ['Wed' '15' '21' '20' '19']
   ['Thu' '11' '20' '22' '21']
   ['Fri' '18' '17' '23' '22']
   ['Sat' '12' '22' '20' '18']
   ['Sun' '13' '15' '19' '16']
   ['Avg' '12' '15' '13' '11']
]

Thêm một cột

Chúng ta có thể thêm cột vào ma trận bằng phương thức insert[]. ở đây chúng ta phải đề cập đến chỉ mục nơi chúng ta muốn thêm cột và một mảng chứa các giá trị mới của các cột được thêm vào. Trong ví dụ dưới đây, chúng tôi thêm t một cột mới ở vị trí thứ năm từ đầu

Ví dụ

from numpy import * 
m = array[[['Mon',18,20,22,17],['Tue',11,18,21,18],
   ['Wed',15,21,20,19],['Thu',11,20,22,21],
   ['Fri',18,17,23,22],['Sat',12,22,20,18],
   ['Sun',13,15,19,16]]]
m_c = insert[m,[5],[[1],[2],[3],[4],[5],[6],[7]],1]

print[m_c]

đầu ra

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

[
   ['Mon' '18' '20' '22' '17' '1']
   ['Tue' '11' '18' '21' '18' '2']
   ['Wed' '15' '21' '20' '19' '3']
   ['Thu' '11' '20' '22' '21' '4']
   ['Fri' '18' '17' '23' '22' '5']
   ['Sat' '12' '22' '20' '18' '6']
   ['Sun' '13' '15' '19' '16' '7']
]

Xóa một hàng

Chúng ta có thể xóa một hàng khỏi ma trận bằng phương thức delete[]. Chúng ta phải chỉ định chỉ mục của hàng và cả giá trị trục là 0 cho hàng và 1 cho cột

Ví dụ

from numpy import * 
m = array[[['Mon',18,20,22,17],['Tue',11,18,21,18],
   ['Wed',15,21,20,19],['Thu',11,20,22,21],
   ['Fri',18,17,23,22],['Sat',12,22,20,18],
   ['Sun',13,15,19,16]]]
m = delete[m,[2],0]

print[m]

đầu ra

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

[
   ['Mon' '18' '20' '22' '17']
   ['Tue' '11' '18' '21' '18']
   ['Thu' '11' '20' '22' '21']
   ['Fri' '18' '17' '23' '22']
   ['Sat' '12' '22' '20' '18']
   ['Sun' '13' '15' '19' '16']
]

Xóa một cột

Chúng ta có thể xóa một cột khỏi ma trận bằng phương thức delete[]. Chúng ta phải chỉ định chỉ mục của cột và cả giá trị trục là 0 cho một hàng và 1 cho một cột

Ví dụ

[
   ['Mon' '18' '20' '22' '17']
   ['Tue' '11' '18' '21' '18']
   ['Wed' '15' '21' '20' '19']
   ['Thu' '11' '20' '22' '21']
   ['Fri' '18' '17' '23' '22']
   ['Sat' '12' '22' '20' '18']
   ['Sun' '13' '15' '19' '16']
]
0

đầu ra

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

[
   ['Mon' '18' '20' '22' '17']
   ['Tue' '11' '18' '21' '18']
   ['Wed' '15' '21' '20' '19']
   ['Thu' '11' '20' '22' '21']
   ['Fri' '18' '17' '23' '22']
   ['Sat' '12' '22' '20' '18']
   ['Sun' '13' '15' '19' '16']
]
1

Cập nhật một hàng

Để cập nhật các giá trị trong hàng của ma trận, chúng ta chỉ cần gán lại các giá trị tại chỉ mục của hàng. Trong ví dụ dưới đây, tất cả các giá trị cho dữ liệu của ngày thứ ba được đánh dấu bằng không. Chỉ số cho hàng này là 3

Làm thế nào để đọc một ma trận?

Kích thước hoặc thứ tự của ma trận cho biết số hàng theo sau là số cột trong ma trận. Thứ tự của một ma trận có 3 hàng và 2 cột là 3 × 2 hoặc 3 nhân 2. .
Các tọa độ x là hàng đầu tiên
Các tọa độ y nằm ở hàng thứ hai
Mỗi điểm là một cột

Cách đọc ma trận 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

Ma trận được biểu diễn bằng Python như thế nào?

Trong Python, Ma trận được biểu diễn theo kiểu dữ liệu danh sách .

Chủ Đề