SORU
13 Aralık 2011, Salı


Nasıl numpy bir dizi için ekstra bir sütun eklemek için

Numpy dizi var diyelim:

a = np.array([[1,2,3],[2,3,4]])

Ve sıfırlardan oluşan bir dizi sütun b için eklemek istiyorum:

b = np.array([[1,2,3,0],[2,3,4,0]])

Nasıl bu kadar kolay numpy miyim?

CEVAP
14 Aralık 2011, ÇARŞAMBA


np.r_[ ... ] np.c_[ ... ] vstack hstackpratik seçenekler köşeli parantez [] yuvarlak yerine ().
Bir kaç örnek:

: import numpy as np
: N = 3
: A = np.eye(N)

: np.c_[ A, np.ones(N) ]              # add a column
array([[ 1.,  0.,  0.,  1.],
       [ 0.,  1.,  0.,  1.],
       [ 0.,  0.,  1.,  1.]])

: np.c_[ np.ones(N), A, np.ones(N) ]  # or two
array([[ 1.,  1.,  0.,  0.,  1.],
       [ 1.,  0.,  1.,  0.,  1.],
       [ 1.,  0.,  0.,  1.,  1.]])

: np.r_[ A, [A[1]] ]              # add a row
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.],
       [ 0.,  1.,  0.]])
: # not np.r_[ A, A[1] ]

: np.r_[ A[0], 1, 2, 3, A[1] ]    # mix vecs and scalars
  array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

: np.r_[ A[0], [1, 2, 3], A[1] ]  # lists
  array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

: np.r_[ A[0], (1, 2, 3), A[1] ]  # tuples
  array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

: np.r_[ A[0], 1:4, A[1] ]        # same, 1:4 == arange(1,4) == 1,2,3
  array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

(Köşeli parantez sebebi [] yuvarlak yerine () bu Python Kare --örneğin 1:4 genişler. aşırı merak ediyor.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008