Bagaimana untuk melaksanakan pertukaran dimensi dalam Numpy

WBOY
Lepaskan: 2024-01-26 10:05:06
asal
801 orang telah melayarinya

Bagaimana untuk melaksanakan pertukaran dimensi dalam Numpy

Petua untuk menukar dimensi dalam numpy

Pengenalan:
numpy ialah perpustakaan Python yang berkuasa terutamanya digunakan untuk pengkomputeran saintifik dan analisis data. Dalam numpy, kita sering perlu berurusan dengan tatasusunan berbilang dimensi, dan pertukaran dimensi tatasusunan juga merupakan salah satu operasi biasa. Artikel ini akan memperkenalkan beberapa teknik untuk menukar dimensi dalam numpy dan memberikan contoh kod khusus.

1. Fungsi pertukaran dimensi dalam numpy
Dalam numpy, kita boleh menggunakan fungsi transpose() dan fungsi swapaxes() untuk melakukan pertukaran dimensi.

  1. fungsi transpose() Fungsi
    transpose() digunakan untuk menukar dimensi tatasusunan, yang boleh dicapai dengan menyatakan susunan paksi. Prototaip fungsi ialah:

numpy.transpose(arr, paksi)

di mana arr ialah tatasusunan yang hendak ditranspose, paksi ialah susunan paksi, yang boleh menjadi integer atau jujukan integer. Jika paksi ialah integer, mengembalikan tatasusunan baharu dengan dimensi ditukar di sepanjang paksi itu; Fungsi

  1. swapaxes()
    swapaxes() digunakan untuk menukar dua paksi tatasusunan Prototaip fungsinya ialah:

numpy.swapaxes(arr, paksi1, paksi2)

di mana axes adalah. untuk ditukar, paksi1 dan paksi2 ialah paksi yang akan ditukar. Fungsi swapaxes() mengembalikan tatasusunan baharu yang paksinya ialah salinan paksi tatasusunan asal, tetapi paksi1 dan paksi2 ditukar.

2. Contoh pertukaran dimensi dalam numpy

Di bawah ini kami menggunakan beberapa contoh khusus untuk menunjukkan kemahiran pertukaran dimensi dalam numpy.

Contoh 1: Pertukaran dimensi menggunakan fungsi transpose()

Andaikan kita mempunyai tatasusunan tiga dimensi bentuk (3, 4, 2), dan kita mahu menukar dimensi pertama dan kedua. Kodnya adalah seperti berikut:

import numpy sebagai np

arr = np.arange(24).reshape(3, 4, 2)

print("Arisinal array: ")
print(arr)

new_arr = np .transpose( arr, (1, 0, 2))

print("Susun atur tukar:")
print(new_arr)

Hasil larian adalah seperti berikut:

Susun atur asal:

[[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7]]

[[ 8 9]

[10 11]
[12 13]
[14 15]]

[[16 17]

]
[16 17]
[20 21]
[22 23]]]

Tatasusunan yang ditukar:
[[[ 0 1]
[ 8 9]
[16 17]]

[[ 2 3]
[10 11]
19]]

[[ 4 5]
[12 13]
[20 21]]

[[ 6 7]
[14 15]
[22 23]]]

Contoh 2:() Gunakan fungsi swa untuk pertukaran dimensi
Andaikan kita mempunyai tatasusunan bentuk tiga dimensi (2, 5, 3), dan kita ingin menukar dimensi pertama dan keduanya. Kodnya adalah seperti berikut:

import numpy sebagai np

arr = np.arange(30).reshape(2, 5, 3)
print("Arisinal array: ")
print(arr)

new_arr = np .swapaxes( arr, 0, 1)
print("Array after exchange: ")
print(new_arr)

Hasil larian adalah seperti berikut:

Assuai asal:
[[[ 0 1 2]
[ 3 2] 5]
[ 6 7 8]
[9 10 11]
[12 13 14]]

[[15 16 17]
[18 19 20]
[21 22 23]
[21 22 23]
[24]

[24]

28 29]]]

Susun atur yang ditukar:

[[[ 0 1 2]

[15 16 17]]

[[ 3 4 5]

[18 19 20]]

[[ 6] [21 22 23 ]]


[[ 9 10 11]

[24 25 26]]


[[12 13 14]

[27 28 29]]]

Kami menunjukkan teknik pertukaran melalui dimensi dua contoh di atas. Gunakan fungsi transpose() dan fungsi swapaxes() untuk menukar dimensi tatasusunan dengan mudah untuk memenuhi keperluan masalah yang berbeza. Operasi pertukaran dimensi yang berbeza boleh dilaksanakan dengan melaraskan parameter, membolehkan kami memproses data tatasusunan berbilang dimensi dengan lebih fleksibel. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pertukaran dimensi dalam Numpy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!