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

  • 趣味そうこ♪

    趣味そう

    3 Mart 2010
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011