Trăn nhân ma trận
Tùy thuộc vào việc lập chỉ mục, việc xây dựng ma trận trích xuất/lập chỉ mục với kiểu đầu vào 3 có thể dễ dàng hơn
Ma trận trích xuất vuông với các giá trị "đường chéo" mong muốn
Nhân ma trận một chiều chọn cột
và mặt khác, các hàng
4 làm điều tương tự, nhưng với
Tổng hàng và cột cũng được thực hiện với phép nhân ma trận
Đôi khi, khi làm việc với các ma trận thưa thớt lớn trong Python, bạn có thể muốn chọn một số hàng của ma trận thưa thớt hoặc một số cột nhất định của ma trận thưa thớt. Như chúng ta đã thấy trước đó, có nhiều loại ma trận thưa thớt có sẵn trong SciPy bằng Python. Mỗi loại ma trận thưa thớt được tối ưu hóa cho các hoạt động cụ thể Chúng ta sẽ xem các ví dụ về việc cắt một ma trận thưa thớt theo hàng và cột. Về cơ bản, chúng tôi sẽ tạo một ma trận thưa thớt ngẫu nhiên và chọn một tập hợp con các hàng hoặc cột từ ma trận thưa thớt bằng cách sử dụng Scipy/NumPy trong Python Hãy để chúng tôi tải các mô-đun cần thiết Hãy để chúng tôi tạo một ma trận ngẫu nhiên thưa thớt bằng cách sử dụng chức năng ngẫu nhiên của mô-đun thưa thớt của SciPy. Ở đây, chúng tôi tạo ma trận ngẫu nhiên thưa thớt có kích thước 5 x 5 chứa các số ngẫu nhiên từ phân phối Poisson A = sparse.random(5, 5, density=0.5, data_rvs=stats.poisson(10, loc=10).rvs) Chúng ta có thể thấy nội dung của ma trận thưa bằng câu lệnh in và hàm todense() 0Giả sử chúng ta quan tâm đến các hàng hoặc cột có chỉ số chẵn 1Cách chọn hàng từ ma trận thưa thớt?Chúng tôi có thể tập hợp ma trận thưa thớt ban đầu của mình bằng cách sử dụng thao tác lát. Điều cần lưu ý là thưa thớt. chức năng ngẫu nhiên tạo ma trận thưa thớt ở định dạng COO theo mặc định. Tuy nhiên, ma trận COO không thân thiện với hoạt động lát Vì vậy, trước tiên chúng tôi chuyển đổi ma trận thưa thớt COO thành ma trận CSR (Định dạng hàng thưa được nén) bằng cách sử dụng hàm tocsr(). Và sau đó chúng ta có thể cắt các hàng ma trận thưa thớt bằng cách sử dụng mảng chỉ số hàng mà chúng ta đã tạo 0Chúng ta có thể thấy rằng sau khi cắt, chúng ta có một ma trận thưa thớt có kích thước 3 × 5 ở định dạng CSR. Để xem nội dung của ma trận thưa được cắt lát, chúng ta có thể sử dụng hàm todense(). Bây giờ chúng tôi chỉ có ba hàng thay vì năm 1Làm cách nào để chọn các cột từ một ma trận thưa thớt?Chúng ta có thể làm tương tự để cắt các cột của ma trận thưa thớt. Trước tiên, chúng tôi sẽ phải chuyển đổi sang ma trận CSR hoặc CSC, sau đó sử dụng thao tác cắt lát để chọn các cột mà chúng tôi quan tâm Hãy để chúng tôi sử dụng tocsr() như trước đây và chọn các cột có chỉ số chẵn 2Một tùy chọn khác để cắt các hàng hoặc cột của ma trận thưa thớt không lớn là chuyển đổi thành ma trận dày đặc và cắt các hàng/cột. Rõ ràng cách tiếp cận này là không hiệu quả hoặc không thể thực hiện được khi kích thước ma trận thưa thớt lớn |