Çözüldü: Python NumPy ascontiguousarray İşlev Örneği Bir diziye Tuple

Son Güncelleme: 09/11/2023

Python NumPy, standart Python listelerine güçlü ve verimli bir alternatif olan NumPy dizi nesnesi etrafında oluşturulmuş popüler bir kitaplıktır. Bu yazıda, NumPy kütüphanesinde bulunan faydalı fonksiyonlardan biri olan NumPy'yi tartışacağız. bitişik dizi olarak işlev. Bu işlev, dizileri bitişik dizilere dönüştürmek ve demetler gibi veri yapılarını işlemek açısından dizilerle çalışırken özellikle yararlıdır. Ascontigousarray işlevinin temel amacı, belirli bir dizinin bitişik bir bellek bloğunda saklanmasını sağlamaktır.

Başlamak için, eldeki sorunu inceleyelim. Diyelim ki sayısal veriler içeren bir demetiniz var ve bu demeti bitişik bir NumPy dizisine dönüştürmek istiyorsunuz. Burası bitişik dizi olarak işlev kullanışlı olacaktır.

import numpy as np

# Sample tuple
data = (1, 2, 3, 4, 5)

# Using ascontiguousarray to convert tuple to a contiguous array
contiguous_array = np.ascontiguousarray(data)

print(contiguous_array)

Yukarıdaki kod parçasında öncelikle NumPy kütüphanesini np olarak import ediyoruz. Bunu takiben, 1'den 5'e kadar sayısal öğeleri içeren 'data' adlı bir tuple oluşturuyoruz. bitişik dizi olarak 'veri'yi 'contiguous_array' adlı bitişik bir diziye dönüştürmek için işlev. Son olarak, yeni bitişik diziyi göstermesi gereken sonucu yazdırıyoruz.

ascontigousarray İşlevini Anlamak

MKS bitişik dizi olarak NumPy'deki işlev, bir dizinin bitişik bir bellek düzeninde olduğundan emin olmak istediğinizde faydalıdır. Bu önemlidir, çünkü bitişik bellek düzeni, sistem işlemcisinin verilere çok daha hızlı erişmesini sağlayarak daha iyi önbellek kullanımını mümkün kıldığından dizi işlemlerinin verimliliğini artırmaya yardımcı olur.

Temel sözdizimi bitişik dizi olarak işlevi aşağıdaki gibidir:

numpy.ascontiguousarray(a, dtype=None)

İşlev iki bağımsız değişkeni kabul eder: birincisi ('a'), bitişik bir diziye dönüştürülmesi gereken girdi dizisidir ve ikinci bağımsız değişken ('dtype'), çıktının istenen veri türünü belirten isteğe bağlı bir parametredir. sıralamak.

Çok Boyutlu Dizilerle Çalışma

MKS bitişik dizi olarak işlevi ayrıca çok boyutlu dizilerle sorunsuz bir şekilde çalışabilir. Aslında, verimli bellek yönetimi ve dizi öğelerine daha hızlı erişim sağladığından, daha yüksek boyutlu dizilerle çalışırken özellikle değerlidir.

İşte kullanımına bir örnek bitişik dizi olarak çok boyutlu bir liste ile işlev:

import numpy as np

# Multi-dimensional list
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Using ascontiguousarray to convert the list to a contiguous array
contiguous_array = np.ascontiguousarray(data)

print(contiguous_array)

Bu örnekte girdi verileri, iç içe listeler içeren çok boyutlu bir listedir. Bir önceki davaya benzer şekilde, bitişik dizi olarak işlevi, bu verileri daha sonra sonucu görüntülemek için yazdırılan bitişik bir NumPy dizisine dönüştürmek için kullanılır.

Sonuç olarak, bitişik dizi olarak NumPy kitaplığındaki işlev, demet ve çok boyutlu dizi dönüşümlerini bitişik dizilere işlemek için değerli bir araçtır. Bellek açısından verimli depolamayı ve daha hızlı veri erişimini zorunlu kılma yeteneği, onu sayısal verilerle çalışan herhangi bir Python programcısı için temel bir işlev haline getirir.

İlgili Mesajlar: