Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah cara saya menambah lajur tambahan pada tatasusunan NumPy menggunakan `np.c_[...]`?

Bagaimanakah cara saya menambah lajur tambahan pada tatasusunan NumPy menggunakan `np.c_[...]`?

Barbara Streisand
Barbara Streisandasal
2024-11-05 01:40:01872semak imbas

How do I add an extra column to a NumPy array using `np.c_[...]`?

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!

Kenyataan:
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