Rumah  >  Artikel  >  hujung hadapan web  >  Tutorial peringkat pakar tentang analisis mendalam penyambungan tatasusunan numpy

Tutorial peringkat pakar tentang analisis mendalam penyambungan tatasusunan numpy

WBOY
WBOYasal
2024-01-26 10:10:171003semak imbas

Tutorial peringkat pakar tentang analisis mendalam penyambungan tatasusunan numpy

Tutorial peringkat induk: Analisis komprehensif kaedah penyambungan tatasusunan numpy

Pengenalan:
Dalam bidang sains data dan pembelajaran mesin, numpy ialah salah satu alatan yang paling penting. Ia ialah perpustakaan Python yang berkuasa yang menyediakan objek tatasusunan berbilang dimensi berprestasi tinggi, serta pelbagai fungsi untuk memproses tatasusunan ini. Dalam numpy, penggabungan antara tatasusunan ialah operasi asas yang membolehkan kami menggabungkan berbilang tatasusunan bersama-sama tanpa mengubah bentuk tatasusunan. Artikel ini akan memperkenalkan kaedah penyambungan tatasusunan numpy secara terperinci dan memberikan contoh kod khusus. . Apabila menggunakan kaedah ini, anda perlu menentukan paksi di mana operasi penyambungan harus dilakukan. Kaedah

np.vstack: Kaedah

np.vstack digunakan untuk menggabungkan dua atau lebih tatasusunan secara menegak (dari segi baris). Ia menyusun setiap tatasusunan secara menegak untuk menjana tatasusunan baharu. Kaedah
  1. np.hstack: Kaedah
    np.hstack digunakan untuk menggabungkan dua atau lebih tatasusunan secara mendatar (dari segi lajur). Ia menggabungkan setiap tatasusunan secara mendatar untuk menjana tatasusunan baharu. Kaedah
  2. np.column_stack: Kaedah
    np.column_stack digunakan untuk menyambung tatasusunan satu dimensi mengikut lajur dan fungsinya serupa dengan kaedah np.vstack. Tetapi perbezaannya ialah apabila tatasusunan yang disambung adalah satu dimensi, kaedah np.column_stack menjana tatasusunan dua dimensi. Kaedah
  3. np.row_stack: Kaedah
    np.row_stack digunakan untuk menyambung tatasusunan satu dimensi baris demi baris, dan fungsinya serupa dengan kaedah np.hstack. Tetapi perbezaannya ialah apabila tatasusunan yang disambung adalah satu dimensi, kaedah np.row_stack menjana tatasusunan dua dimensi.

  4. 2. Contoh kod khusus
  5. Yang berikut menggunakan contoh kod khusus untuk menunjukkan penggunaan kaedah penyambungan tatasusunan numpy di atas.
    import numpy as np
    
    # 创建两个二维数组
    a = np.array([[1, 2], [3, 4]])
    b = np.array([[5, 6]])
    
    # 使用np.concatenate方法进行拼接
    c = np.concatenate((a, b), axis=0)  # 沿着竖直方向拼接数组
    print("np.concatenate拼接结果:")
    print(c)
    
    # 使用np.vstack方法进行拼接
    d = np.vstack((a, b))  # 沿着竖直方向拼接数组
    print("
    np.vstack拼接结果:")
    print(d)
    
    # 使用np.hstack方法进行拼接
    e = np.hstack((a, b.T))  # 沿着水平方向拼接数组
    print("
    np.hstack拼接结果:")
    print(e)
    
    # 创建两个一维数组
    f = np.array([1, 2, 3])
    g = np.array([4, 5, 6])
    
    # 使用np.column_stack方法进行拼接
    h = np.column_stack((f, g))  # 按列拼接一维数组
    print("
    np.column_stack拼接结果:")
    print(h)
    
    # 使用np.row_stack方法进行拼接
    i = np.row_stack((f, g))  # 按行拼接一维数组
    print("
    np.row_stack拼接结果:")
    print(i)
  6. Jalankan kod di atas dan anda akan mendapat output berikut:
np.concatenate拼接结果:
[[1 2]
 [3 4]
 [5 6]]

np.vstack拼接结果:
[[1 2]
 [3 4]
 [5 6]]

np.hstack拼接结果:
[[1 2 5]
 [3 4 6]]

np.column_stack拼接结果:
[[1 4]
 [2 5]
 [3 6]]

np.row_stack拼接结果:
[[1 2 3]
 [4 5 6]]

Kesimpulan:

Artikel ini memperkenalkan secara terperinci kaedah penyambungan tatasusunan yang biasa digunakan dalam numpy, termasuk np.concatenate, np.vstack, np.hstack, np. column_stack dan np.row_stack . Melalui contoh kod khusus, senario penggunaan dan kesan kaedah ini ditunjukkan. Dalam aplikasi praktikal, menguasai kaedah ini boleh meningkatkan kecekapan pemprosesan dan analisis data.

(Nota: Contoh kod di atas adalah berdasarkan numpy versi 1.20.3, keputusan versi lain mungkin berbeza.)

Atas ialah kandungan terperinci Tutorial peringkat pakar tentang analisis mendalam penyambungan 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