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

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • chrmoe

    chrmoe

    7 Kasım 2006
  • DrePwn

    DrePwn

    22 Temmuz 2011