Bagaimana untuk Melakukan Penggulungan Bebas Baris Matriks Menggunakan Pengindeksan Lanjutan dalam NumPy?

Barbara Streisand
Lepaskan: 2024-10-21 14:15:02
asal
327 orang telah melayarinya

How to Perform Independent Rolling of Matrix Rows Using Advanced Indexing in NumPy?

Rows Rolling Matrix Independent using Advanced Indexing

Memandangkan matriks A dan array r yang mengandungi nilai roll untuk setiap baris, matlamat anda adalah untuk gulung setiap baris A secara bebas menggunakan nilai gulungan tersebut.

Pendekatan paling berkesan untuk mencapai ini ialah melalui pengindeksan lanjutan dalam NumPy. Teknik ini melibatkan membina meshgrid baharu yang menggunakan nilai gulungan pada lajur A. Begini cara anda boleh melaksanakannya:

<code class="python">import numpy as np

# Define the matrix A and roll values r
A = np.array([[4, 0, 0],
              [1, 2, 3],
              [0, 0, 5]])
r = np.array([2, 0, -1])

# Create a meshgrid of rows and negative shifted columns
rows, column_indices = np.ogrid[:A.shape[0], :A.shape[1]]
r[r < 0] += A.shape[1]
column_indices = column_indices - r[:, np.newaxis]

# Use advanced indexing to apply the roll values
result = A[rows, column_indices]

# Print the result
print(result)</code>
Salin selepas log masuk

Pendekatan ini menggunakan indeks lajur anjakan negatif untuk memastikan pengindeksan yang sah dan menggunakan nilai gulungan melalui meshgrid, menghasilkan matriks dengan baris bergolek bebas.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Penggulungan Bebas Baris Matriks Menggunakan Pengindeksan Lanjutan dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!