Isonjululwe: numpy collapse kwidimension yokugqibela

Kwiminyaka yakutshanje, ukusetyenziswa kwePython kwiinkalo ezahlukeneyo kuye kwanda kakhulu, ngakumbi kwinkalo yokusetyenziswa kwedatha kunye nekhompyuter yesayensi. Elinye lawona mathala eencwadi asetyenziswa kakhulu kule misebenzi yiNumPy. I-NumPy lithala leencwadi elinamandla neliguquguqukayo elisetyenziswa kakhulu ekusebenzeni ngoluhlu olukhulu, olunamacala amaninzi kunye nematriki, phakathi kweminye imisebenzi yezibalo. Umsebenzi omnye oqhelekileyo ekusebenzeni nezi zakhiwo zedatha yimfuneko yokuwa okanye ukunciphisa umlinganiselo wokugqibela woluhlu. Kule nqaku, siza kuhlolisisa esi sihloko ngokweenkcukacha, ngokuqala ngesingeniso kwingxaki, silandelwa sisisombululo, kunye nenkcazo yesinyathelo ngesinyathelo sekhowudi. Okokugqibela, siza kuphonononga kwizihloko ezinxulumeneyo kunye namathala eencwadi anokuba nomdla.

Isidingo soku thoba inqanaba lokugqibela Uluhlu lunokuvela kwiimeko ezahlukeneyo, njengaxa ubale isiphumo ukusuka kuluhlu olunamacala amaninzi kwaye ufuna ukufumana olulula, oluncitshisiweyo lokumelwa kwedatha. Lo msebenzi ubandakanya ukuguqula uluhlu lwentsusa lube olunye olunemilinganiselo embalwa ngokususa, okanye ukudilika, idimensioni yokugqibela ecaleni kweasi ehambayo.

Isisombululo: Ukusebenzisa i-np.squeeze

Enye yeendlela zokujongana nale ngxaki kukusebenzisa i numpy.cudisa umsebenzi. Lo msebenzi ususa amangeniso anedimensional enye kwimilo yoluhlu lwegalelo.

import numpy as np

arr = np.random.rand(2, 3, 1)
print("Original array shape:", arr.shape)

collapsed_arr = np.squeeze(arr, axis=-1)
print("Collapsed array shape:", collapsed_arr.shape)

Inkcazo ngeNyathelo ngeNyathelo

Ngoku masiyicalule ikhowudi kwaye siqonde ukuba isebenza njani.

1. Okokuqala, singenisa ngaphandle ithala leencwadi leNumPy njenge-np:

import numpy as np

2. Okulandelayo, senza uluhlu olungenamkhethe lwe-3-dimensional enemilo (2, 3, 1):

arr = np.random.rand(2, 3, 1)
print("Original array shape:", arr.shape)

3. Ngoku, sisebenzisa i np.cudisa umsebenzi wokuwisa idimension yokugqibela yoluhlu ngokukhankanya i axis ipharamitha njenge -1:

collapsed_arr = np.squeeze(arr, axis=-1)
print("Collapsed array shape:", collapsed_arr.shape)

4. Ngenxa yoko, sifumana uluhlu olutsha olunemilo ye (2, 3), ebonisa ukuba umlinganiselo wokugqibela uye wawa ngempumelelo.

Isisombululo Esisesinye: Bumba kwakhona

Enye indlela yokuthoba ubungakanani bokugqibela kukusebenzisa i numpy.reshape sebenza ngeeparamitha ezifanelekileyo ukufezekisa isiphumo esifunekayo.

collapsed_arr_reshape = arr.reshape(2, 3)
print("Collapsed array shape using reshape:", collapsed_arr_reshape.shape)

Kulo mzekelo, siye sayilungisa ngokucacileyo uluhlu lwentsusa ukuba lubenemilo ye- (2, 3), ngokufanelekileyo ukudiliza idimension yokugqibela.

Amathala eencwadi aNxulumeneyo kunye neMisebenzi

Ngaphandle kweNumPy, kukho amanye amathala eencwadi kwiPython ecosystem ebonelela ngezixhobo zokusebenza ngee-arrays kunye nematrices. Elinye laloo thala leencwadi SciPy, eyakha phezu kweNumPy kwaye ibonelele ngomsebenzi owongezelelweyo kwikhompuyutha yenzululwazi. Kwindawo yokufunda koomatshini, ithala leencwadi TensorFlow ikwasebenza ngee tensor (oko kukuthi, uluhlu olunemilinganiselo emininzi) kwaye ibonelela ngeseti yayo yemisebenzi yokuguqula imatriki. Ukongeza, i Iipandas ilayibrari ingasetyenziselwa ukukhohlisa IdathaFrames, ubume bedatha obuphezulu obunokuthi kucingelwe njengeetafile eziqulethe uluhlu. Ngaphezu koko, i numpy.newaxis umsebenzi ikuvumela ukuba udibanise i-axis entsha kuluhlu, olunokuba luncedo xa ufuna ukwandisa imilinganiselo yoluhlu ukutshatisa imilo efunekayo kumsebenzi.

Ukuqukumbela, ukukwazi ukwenza kunye nokusebenza ngee-arrays ngokufanelekileyo sisakhono esibalulekileyo kwihlabathi lenkqubo kunye nesayensi yedatha. I-NumPy lithala leencwadi elinamandla ngokugqithisileyo elibonelela ngokusebenza okubanzi, kunye neendlela zokuqonda ezifana nokudilika komlinganiselo wokugqibela kuya kuba luncedo kwiimeko ezahlukeneyo xa ujongene neeseti zedatha ezinkulu nezintsonkothileyo.

Izithuba ezihambelanayo:

Shiya Comment