Menambah Lajur Tambahan pada Tatasusunan NumPy
NumPy, perpustakaan yang berkuasa untuk pengkomputeran saintifik dalam Python, menyediakan pelbagai kaedah untuk memanipulasi data berbilang dimensi. Antaranya ialah tugas menambah lajur tambahan pada tatasusunan. Mari terokai cara untuk mencapai ini menggunakan fungsi NumPy khusus yang menawarkan cara yang mudah dan cekap untuk memanjangkan dimensi tatasusunan anda.
Menggunakan np.r_[...] dan np.c_[.. .]
Untuk menambah lajur tambahan pada tatasusunan 2D, dua fungsi NumPy yang berguna ialah np.r_[...] (untuk menambah baris) dan np.c_[...] (untuk menambah lajur). Tidak seperti np.vstack dan np.hstack, fungsi ini menggunakan kurungan segi empat sama [] dan bukannya kurungan ().
Pertimbangkan tatasusunan 2D berikut:
<code class="python">import numpy as np a = np.array([ [1, 2, 3], [2, 3, 4], ])</code>
Untuk menambah lajur sifar di sepanjang paksi kedua, menggunakan np.c_[...]:
<code class="python">b = np.c_[a, np.zeros(a.shape[0])]</code>
Ini menghasilkan output yang diingini:
<code class="python">b = np.array([ [1, 2, 3, 0], [2, 3, 4, 0], ])</code>
Contoh Tambahan
np.r_[...] dan np.c_[...] menawarkan kepelbagaian dalam menambahkan baris/lajur pada tatasusunan. Berikut ialah beberapa contoh lanjut:
<code class="python">N = 3 A = np.eye(N) # Add a column np.c_[A, np.ones(N)] # Add two columns np.c_[np.ones(N), A, np.ones(N)] # Add a row np.r_[A, [A[1]]] # Mix vectors and scalars np.r_[A[0], 1, 2, 3, A[1]] # Use lists or tuples np.r_[A[0], [1, 2, 3], A[1]] np.r_[A[0], (1, 2, 3), A[1]] # Use Python slice syntax np.r_[A[0], 1:4, A[1]]</code>
Memahami Kurungan Segi Empat lwn. Tanda Kurung Bulat
Adalah penting untuk ambil perhatian bahawa np.r_[...] dan np. c_[...] gunakan kurungan segi empat sama, manakala np.vstack dan np.hstack menggunakan kurungan bulat. Ini kerana Python mentafsir 1:4 sebagai objek hirisan apabila digunakan dalam kurungan segi empat sama. Objek hirisan ini mewakili nilai 1, 2 dan 3, yang kemudiannya ditambahkan pada tatasusunan.
Atas ialah kandungan terperinci Bagaimanakah cara saya menambah lajur tambahan pada tatasusunan NumPy menggunakan `np.c_[...]`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!