Rumah  >  Artikel  >  hujung hadapan web  >  Pemahaman mendalam tentang kaedah penyambungan dan penggunaan tatasusunan numpy

Pemahaman mendalam tentang kaedah penyambungan dan penggunaan tatasusunan numpy

PHPz
PHPzasal
2024-01-26 11:03:16579semak imbas

Pemahaman mendalam tentang kaedah penyambungan dan penggunaan tatasusunan numpy

Fahami kaedah penyambungan tatasusunan numpy dan senario aplikasi dalam satu artikel

Ikhtisar:
Dalam pemprosesan dan analisis data, selalunya perlu untuk menyambungkan berbilang tatasusunan numpy untuk pemprosesan dan analisis selanjutnya. Pustaka numpy menyediakan pelbagai kaedah penyambungan tatasusunan Artikel ini akan memperkenalkan kaedah penyambungan tatasusunan numpy dan senario aplikasinya, dan memberikan contoh kod tertentu.

1. Kaedah penyambungan tatasusunan Numpy:

  1. fungsinp.concatenate
    np.concatenate boleh menyambung dua atau lebih tatasusunan bersama-sama di sepanjang paksi yang ditentukan untuk membentuk tatasusunan baharu. Sintaksnya adalah seperti berikut:
    np.concatenate((a1, a2, ...), axis=0, out=None)

Antaranya, a1, a2, ...: tatasusunan yang perlu disambung ;
paksi: tentukan Paksi penyambungan, lalainya ialah 0, yang bermaksud penyambungan sepanjang paksi pertama
keluar: output tatasusunan dengan hasil penyambungan, jika tidak disediakan, tatasusunan baharu akan dibuat dan dikembalikan.

Kod sampel adalah seperti berikut:
import numpy sebagai np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]] )

c = np.concatenate((a, b), axis=0)
print(c)

Hasil keluaran:

[[1 2]

[3 4]

[5 6]]

  1. np .vstack dan np.row_stack
    Fungsi np.vstack menyusun dua atau lebih tatasusunan secara menegak (baris) untuk membentuk tatasusunan baharu. Sintaksnya adalah seperti berikut:
    np.vstack(tup)

di mana, tup: tuple tatasusunan yang perlu disusun. Fungsi

np.row_stack mempunyai fungsi yang sama seperti fungsi np.vstack.

Kod sampel adalah seperti berikut:
import numpy sebagai np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

c = np .vstack( (a, b))
print(c)

Hasil keluaran:

[[1 2 3]

[4 5 6]]

  1. np.hstack dan np.column_stack.hstacknp menggabungkan dua Atau berbilang tatasusunan disusun bersama secara mendatar (lajur) untuk membentuk tatasusunan baharu. Sintaksnya adalah seperti berikut:
    np.hstack(tup)
di mana, tup: tuple tatasusunan yang perlu disusun. Fungsi

np.column_stack mempunyai fungsi yang sama seperti fungsi np.hstack, tetapi boleh mengendalikan tatasusunan satu dimensi.

Kod sampel adalah seperti berikut:

import numpy sebagai np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = np .hstack( (a, b))

print(c)

Hasil keluaran:

[1 2 3 4 5 6]

    np.dstack
  1. np.dstack fungsi membahagi dua atau lebih tatasusunan (dalam kedalaman sepanjang paksi Z) disusun bersama untuk membentuk tatasusunan baharu. Sintaksnya adalah seperti berikut:
    np.dstack(tup)
di mana, tup: tuple tatasusunan yang perlu disusun.

Kod sampel adalah seperti berikut:

import numpy sebagai np

a = np.array([[1, 2], [3, 4]])

b = np.array([[5, 6], [7, 8]])

c = np.dstack((a, b))

print(c)

Hasil keluaran:

[[[[1 5]

[2 6]]

[[ 3 7]

[4 8]]]

2. Senario aplikasi

    Pencantuman data
  1. Apabila berbilang tatasusunan perlu digabungkan mengikut peraturan tertentu untuk membentuk tatasusunan yang besar, anda boleh menggunakan kaedah penyambungan numpy. Sebagai contoh, dalam pembelajaran mesin, set latihan dan ujian selalunya diasingkan dan mereka perlu digabungkan menjadi satu set data.
Kod sampel adalah seperti berikut:

import numpy sebagai np

Andaikan set latihan telah dimuatkan ke dalam data train_variable, dan bentuknya ialah (m, n1)

Anggapkan set ujian telah dimuatkan ke dalam data_ujian berubah, dan bentuknya ialah (k, n1)

Gabung set latihan dan set ujian ke dalam satu set data

data = np.concatenate((train_data, test_data), axis=0)

print(data.shape )

    Pembesaran data
  1. Dalam pembelajaran mendalam, untuk penambahan Data sampel latihan ialah kaedah biasa untuk meningkatkan keupayaan generalisasi model. Berbilang sampel tambahan bagi sampel boleh digabungkan menggunakan kaedah penyambungan numpy.
Kod sampel adalah seperti berikut:

import numpy sebagai np

Andaikan bahawa sampel telah dimuatkan ke dalam sampel berubah, dan bentuknya ialah (n, m)

Lakukan pengembangan flip mendatar bagi sampel

flipped_sample = np.fliplr(sample)

Cantumkan sampel ditambah

sampel_tambah = np.hstack((sampel, flipped_sample))

print(tambah_sample.shape)

Ringkasan:

Penyusunan rencana ini memperkenalkan artikel senario aplikasi. Dengan menggunakan kaedah penyambungan numpy, kita boleh menggabungkan berbilang tatasusunan untuk pemprosesan dan analisis data. Kaedah splicing termasuk np.concatenate, np.vstack, np.row_stack, np.hstack, np.column_stack dan np.dstack Anda boleh memilih kaedah yang sesuai mengikut keperluan tertentu. Kaedah ini sangat biasa dalam senario aplikasi seperti penggabungan data dan penambahan data, dan boleh membantu kami memproses dan menganalisis data dengan lebih baik.

Atas ialah kandungan terperinci Pemahaman mendalam tentang kaedah penyambungan dan penggunaan tatasusunan numpy. 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