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

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • Noam Erez

    Noam Erez

    3 NİSAN 2012
  • spyib

    spyib

    9 Ocak 2007