Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah numpy dan langkah berjaga-jaga yang biasa digunakan untuk meningkatkan dimensi

Kaedah numpy dan langkah berjaga-jaga yang biasa digunakan untuk meningkatkan dimensi

王林
王林asal
2024-01-26 08:38:15844semak imbas

Kaedah numpy dan langkah berjaga-jaga yang biasa digunakan untuk meningkatkan dimensi

Numpy ialah perpustakaan pengkomputeran saintifik yang biasa digunakan dalam Python, menyediakan fungsi matematik yang kaya dan fungsi operasi tatasusunan yang berkuasa. Dalam aplikasi praktikal, kadangkala kita perlu mengembangkan atau melaraskan dimensi tatasusunan. Artikel ini akan memperkenalkan kaedah yang biasa digunakan untuk meningkatkan dimensi dalam numpy dan memberikan contoh kod terperinci.

1. Gunakan kaedah bentuk semula
Kaedah bentuk semula dalam numpy membolehkan kita mengubah suai dimensi tatasusunan tanpa mengubah bilangan elemen dalam tatasusunan. Penggunaan khusus adalah seperti berikut:

import numpy sebagai np

tatasusunan asal

arr = np.array([1, 2, 3, 4, 5, 6])
print("tatasusunan asal: ", arr)

Gunakan kaedah bentuk semula untuk meningkatkan dimensi

new_arr = arr.reshape((2, 3))
print("Array after increase dimension:")
print(new_arr)

Dalam kod di atas, kita luluskan arr .reshape(( 2, 3)) untuk menukar tatasusunan asal kepada tatasusunan dengan 2 baris dan 3 lajur. Parameter kaedah bentuk semula ialah tuple yang mewakili bentuk tatasusunan baharu. Hasil keluaran adalah seperti berikut:

Tatasusunan asal: [1 2 3 4 5 6]
Tatasusunan selepas meningkatkan dimensi:
[[1 2 3]
[4 5 6]]

2 Gunakan kata kunci paksi baharu
numpy Kata kunci newaxis boleh digunakan untuk menambah dimensi baharu. Apabila menggunakan newaxis, anda perlu memberi perhatian kepada kedudukannya. Pada titik di mana newaxis dimasukkan, dimensi tatasusunan akan meningkat sebanyak satu. Penggunaan khusus adalah seperti berikut:

import numpy sebagai np

Tatasusunan asal

arr = np.array([1, 2, 3, 4, 5])
print("Susun atur asal: ", arr)

Gunakan newaxis untuk meningkatkan Dimensi

new_arr = arr[:, np.newaxis]
print("Array selepas dimensi meningkat:")
print(new_arr)

Dalam kod di atas, kami lulus arr[:, np.newaxis] kepada tatasusunan asal Dimensi arr ditambah satu. Hasil keluaran adalah seperti berikut:

Tatasusunan asal: [1 2 3 4 5]
Tatasusunan dengan peningkatan dimensi:
[[1]
[2]
[3]
[4]
[5]]

3 . Gunakan kaedah expand_dims
Kaedah expand_dims dalam numpy boleh menambah dimensi baharu pada kedudukan yang ditentukan. Penggunaan khusus adalah seperti berikut:

import numpy sebagai np

tatasusunan asal

arr = np.array([1, 2, 3, 4, 5])
print("tatasusunan asal: ", arr)

gunakan expand_dims Tambah dimensi

new_arr = np.expand_dims(arr, paksi=1)
print("Array selepas menambah dimensi: ")
print(new_arr)

Dalam kod di atas, kita lulus np.expand_dims(arr, axis = 1) Tambah dimensi baharu pada dimensi pertama tatasusunan arr. Hasil keluaran adalah seperti berikut:

Tatasusunan asal: [1 2 3 4 5]
Tatasusunan dengan peningkatan dimensi:
[[1]
[2]
[3]
[4]
[5]]

Kecuali untuk tiga kaedah di atas, anda juga boleh menggunakan jubin, concatenate, stack dan kaedah lain untuk meningkatkan dimensi tatasusunan. Perlu memilih kaedah yang sesuai mengikut keperluan sebenar.

Perlu diingat bahawa apabila melakukan operasi peningkatan dimensi, pastikan dimensi operasi itu serasi dengan bentuk tatasusunan. Jika tidak pengecualian boleh dilemparkan.

Ringkasnya, artikel ini memperkenalkan kaedah yang biasa digunakan untuk meningkatkan dimensi dalam numpy, termasuk membentuk semula, newaxis, expand_dims, dsb. Kaedah ini boleh melaraskan bentuk tatasusunan mengikut keperluan secara fleksibel, memudahkan pelbagai tugas pengkomputeran saintifik dan analisis data. Dalam aplikasi praktikal, kami memilih kaedah yang sesuai mengikut situasi khusus untuk memastikan ketepatan dan kecekapan operasi.

Atas ialah kandungan terperinci Kaedah numpy dan langkah berjaga-jaga yang biasa digunakan untuk meningkatkan dimensi. 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