Veri Bilimi

Python NumPy reshape() İşlevi Nasıl Kullanılır

Python NumPy reshape() İşlevi Nasıl Kullanılır

NumPy kitaplığının çok boyutlu diziyle çalışmak için birçok işlevi vardır. reshape () işlevi, verileri değiştirmeden mevcut herhangi bir dizinin şeklini değiştirmek için kullanılan bunlardan biridir. Şekil, her boyuttaki toplam öğe sayısını tanımlar.  Dizinin boyutu eklenebilir veya kaldırılabilir ve her boyuttaki öğe sayısı reshape() işlevi kullanılarak değiştirilebilir. Tek boyutlu dizi çok boyutlu diziye dönüştürülebilir, ancak çok boyutlu dizi bu işlevle tek boyutlu diziye dönüştürülemez. Yeniden şekillendirme () işlevi nasıl çalışır ve kullanımları bu eğitimde açıklanmıştır.

Sözdizimi

reshape() fonksiyonunun sözdizimi aşağıda verilmiştir.

np_array numpy.yeniden şekillendir(np_array, new_shape, sipariş='C') 

Bu fonksiyon üç argüman alabilir. Birinci ve ikinci argümanlar zorunludur ve üçüncü argüman isteğe bağlıdır. NumPy dizisi, ilk bağımsız değişkenin değeridir (np_dizisi) yeniden şekillendirilecek. Dizinin şekli ikinci argüman olarak ayarlanır (yeni şekil) bir tamsayı veya bir tamsayı demeti olabilen değer. Dizinin sırası üçüncü argüman tarafından belirlenir (sipariş) yeniden şekillendirilmiş dizinin elemanın konumunu tanımlamak için kullanılan değer. Üçüncü argümanın değeri ' olabilirC' veya 'F' veya 'bir.'Sipariş değeri'C', son eksen indeksinin daha hızlı değiştiği ve ilk eksen indeksinin daha yavaş değiştiği C tarzı indeks sıralaması için kullanılır. sipariş değeri 'F', ilk eksen indeksinin daha hızlı değiştiği ve son eksen indeksinin daha yavaş değiştiği Fortran tarzı indeks sıralaması için kullanılır. Her ikisi de 'C' ve 'F' siparişler hafıza kullanmaz. Sipariş değeri, 'bir' gibi çalışır'F,' ama hafıza kullanır.

reshape() fonksiyonunun kullanımı:

Bu öğreticinin örneklerini uygulamadan önce NumPy kitaplığını kurmanız gerekir. Bu öğreticinin bir bölümünde reshape() işlevinin farklı kullanımları gösterilmiştir.

Örnek-1: Tek boyutlu diziyi iki boyutlu diziye dönüştürün

Aşağıdaki örnek, tek boyutlu bir NumPy dizisini iki boyutlu bir NumPy dizisine dönüştürmek için reshape() işlevini gösterir. arange() işlevi, 10 öğeden oluşan tek boyutlu bir dizi oluşturmak için komut dosyasında kullanılır. İlk reshape() işlevi, tek boyutlu diziyi 2 satır ve 5 sütundan oluşan iki boyutlu diziye dönüştürmek için kullanılır. Burada, modül adı kullanılarak reshape() işlevi çağrılır, np. İkinci reshape() işlevi, tek boyutlu diziyi 5 satır ve 2 sütundan oluşan iki boyutlu diziye dönüştürmek için kullanılır. Burada, reshape() işlevi, adlı NumPy dizisi kullanılarak çağrılır np_dizisi.

# NumPy'yi içe aktar
numpy'yi np olarak içe aktar
# NumPy aralık değerleri dizisi oluşturun
np_array = np.aralık(10)
#  NumPy dizi değerlerini yazdır
print("NumPy dizisinin değerleri : \n", np_array)
# Diziyi 2 satır ve 5 sütunla yeniden şekillendirin
yeni_dizi = np.yeniden şekillendir(np_array, (2, 5))
# Yeniden şekillendirilen değerleri yazdır
print("\n2 satır ve 5 sütunlu yeniden şekillendirilmiş dizi: \n", yeni_array)
# Diziyi 5 satır ve 2 sütunla yeniden şekillendir
new_array = np_array.yeniden şekillendir(5, 2)
# Yeniden şekillendirilen değerleri yazdır
print("\n5 satır ve 2 sütunlu yeniden şekillendirilmiş dizi : \n", yeni_array)

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. İlk çıktı ana diziyi gösterir. İkinci ve üçüncü çıktı, yeniden şekillendirilmiş diziyi gösterir.

Örnek-2: Tek boyutlu diziyi üç boyutlu diziye dönüştürün

Aşağıdaki örnek, tek boyutlu bir NumPy dizisini üç boyutlu bir NumPy dizisine dönüştürmek için reshape() işlevini gösterir. 12 elemanlı tek boyutlu bir dizi oluşturmak için komut dosyasında array() işlevi kullanılır. reshape() işlevi, oluşturulan tek boyutlu diziyi üç boyutlu diziye dönüştürmek için kullanılır. Burada, reshape() işlevi, adlı NumPy dizisi kullanılarak çağrılır np_dizisi.

# NumPy'yi içe aktar
numpy'yi np olarak içe aktar
# Listeyi kullanarak bir NumPy dizisi oluşturun
np_array = np.dizi([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
#  NumPy dizi değerlerini yazdır
print("NumPy dizisinin değerleri : \n", np_array)
# Tek boyutlu bir diziden üç boyutlu bir dizi oluşturun
new_array = np_array.yeniden şekillendir(2, 2, 3)
# Yeniden şekillendirilen değerleri yazdır
print("\nYeniden şekillendirilen 3B dizi değerleri: \n", yeni_dizi)

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. İlk çıktı ana diziyi gösterir. İkinci çıktı yeniden şekillendirilmiş diziyi gösterir.

Örnek-3: Sıralamaya göre NumPy dizisini yeniden şekillendirin

Aşağıdaki örnek, tek boyutlu bir NumPy dizisini farklı sipariş türleriyle iki boyutlu bir NumPy dizisine dönüştürmek için reshape() işlevini gösterir. arange() işlevi, 15 öğeden oluşan tek boyutlu bir dizi oluşturmak için komut dosyasında kullanılır. İlk reshape() işlevi, C stili sıralama ile 3 satır ve 5 sütundan oluşan iki boyutlu bir dizi oluşturmak için kullanılır. İkinci reshape() işlevi, Fortran stili sıralama ile 3 satır ve 5 sütundan oluşan iki boyutlu bir dizi oluşturmak için kullanılır.

# NumPy'yi içe aktar
numpy'yi np olarak içe aktar
# NumPy aralık değerleri dizisi oluşturun
np_array = np.aralık(15)
#  NumPy dizi değerlerini yazdırın
print("NumPy dizisinin değerleri : \n", np_array)
# Diziyi C tarzı sıralamaya göre yeniden şekillendirin
yeni_dizi1 = np.yeniden şekillendir(np_array, (3, 5), sipariş='C')
# Yeniden şekillendirilen değerleri yazdır
print("\nC-tarzı sıralamaya göre yeniden şekillendirilmiş 2B dizi değerleri şunlardır: \n", new_array1)
# Fortran tarzı sıralamaya göre diziyi yeniden şekillendirin
yeni_dizi2 = np.yeniden şekillendir(np_array, (3, 5), sipariş='F')
# Yeniden şekillendirilen değerleri yazdır
print("\nFortran tarzı sıralamaya dayalı yeniden şekillendirilmiş 2B dizi değerleri şunlardır: \n", new_array2)

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. İlk çıktı, ana değer dizisini gösterir. İkinci çıktı, satır tabanlı sıralama ile dizi değerlerini gösterir. Üçüncü çıktı, sütun tabanlı sıralama ile dizi değerlerini gösterir.

Sonuç

Bu öğreticide, reshape() işlevini kullanarak diziyi bir şekilden başka bir şekle dönüştürmenin yolları anlatılmıştır. Bu öğreticinin örneklerini uyguladıktan sonra reshape() işlevinin kullanım amacı netleşecek ve okuyucular bu işlevi python betiklerinde kullanabilecekler.

SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...