SORU
20 ŞUBAT 2009, Cuma


Ne kadar boş bir dizi oluşturmak NumPy/matrix?

Normalde bir listesi kullanırdım bu şekilde bir dizi ya da matris nasıl kullanılacağını çözemedim. Boş bir dizi (veya matrisi) oluşturmak istiyorum ve bir anda bir sütun (veya satır) ekleyin.

Şu anda bunu yapmak için bulabildiğim tek yol olduğunu

mat = None
for col in columns:
    if mat is None:
        mat = col
    else:
        mat = hstack((mat, col))

Eğer bir liste olsaydı oysa, böyle bir şey yapardım:

list = []
for item in data:
    list.append(item)

Bir şekilde NumPy Dizi veya matris gösterimi böyle bir kullanımı var mı?

CEVAP
20 ŞUBAT 2009, Cuma


NumPy verimli kullanmak için yanlış zihinsel modeli var. NumPy diziler bellek bitişik blok içinde saklanır. Eğer var olan bir dizi satır veya sütun eklemek istiyorsanız, tüm diziyi yeni bir bellek bloğu için bir yönetmen, yeni elementlerin depolanması için boşluk yaratmak gerekiyor. Bu ise sürekli bir dizi oluşturmak için yapılırsa çok verimli olur.

Ekleme satır durumda, en iyi bahis veri kümelerinin eninde sonunda olacak kadar büyük olduğunu, ve veri satır ekleyin: bir dizi oluşturmak için

>>> import numpy
>>> a = numpy.zeros(shape=(5,2))
>>> a
array([[ 0.,  0.],
   [ 0.,  0.],
   [ 0.,  0.],
   [ 0.,  0.],
   [ 0.,  0.]])
>>> a[0] = [1,2]
>>> a[1] = [2,3]
>>> a
array([[ 1.,  2.],
   [ 2.,  3.],
   [ 0.,  0.],
   [ 0.,  0.],
   [ 0.,  0.]])

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008
  • thenewboston

    thenewboston

    4 ŞUBAT 2008