2016-09-11 9 views
12

numpy.sum() 'da "keepdims" adı verilen parametre var. Bu ne işe yarıyor?numpy.sum() 'da "keepdims" adı verilen parametre var. Bu ne işe yarıyor?

Belgelerdeki burada görebileceğiniz gibi: http://docs.scipy.org/doc/numpy/reference/generated/numpy.sum.html

numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)[source] 
Sum of array elements over a given axis. 

Parameters: 
... 
keepdims : bool, optional 
    If this is set to True, the axes which are reduced are left in the result as 
    dimensions with size one. With this option, the result will broadcast 
    correctly against the input array. 
... 
+2

Bu parametreyi içeren ve içermeyen örnekleri denediniz mi? Etkileşimli bir oturumda test etmek kolay olmalıdır. – hpaulj

+0

Bu parametre, ne toplamının o olmadan ne yaptığının farkında iseniz, mantıklıdır. Sonuç şeklinin girdi dizisine ve eksen seçimine nasıl bağlı olduğunu biliyor musunuz? – hpaulj

cevap

21

@Ney @hpaulj doğrudur, denemenizi tavsiye gerekiyor ama bazı diziler oluşabilir için o toplamı farkında değilsiniz şüpheli eksen boyunca. Belgeleri

>>> a 
array([[0, 0, 0], 
     [0, 1, 0], 
     [0, 2, 0], 
     [1, 0, 0], 
     [1, 1, 0]]) 
>>> np.sum(a, keepdims=True) 
array([[6]]) 
>>> np.sum(a, keepdims=False) 
6 
>>> np.sum(a, axis=1, keepdims=True) 
array([[0], 
     [1], 
     [2], 
     [1], 
     [2]]) 
>>> np.sum(a, axis=1, keepdims=False) 
array([0, 1, 2, 1, 2]) 
>>> np.sum(a, axis=0, keepdims=True) 
array([[2, 4, 0]]) 
>>> np.sum(a, axis=0, keepdims=False) 
array([2, 4, 0]) 
okuma aşağıdakileri gözlemleyin Sen bir ekseni (1 iki örnek) belirtmek yoksa, sayısal sonuç aynı olduğunu göreceksiniz, ancak keepdims = Doğru ile 2D dizi döndü

6 numara, ikinci enkarnasyon bir skaler döndürdü. Benzer şekilde, eksen 1 boyunca (satırlar arası) toplandığında, keepdims = True olduğunda bir 2B dizi tekrar döndürülür. Son örnek, eksen 0 boyunca (aşağı sütunlar), benzer bir özellik gösterir ... boyutlar keepdims = True olduğunda tutulur.
Eksenlerin ve özelliklerinin incelenmesi, çok boyutlu verilerle uğraşırken NumPy'nin gücünün tam olarak anlaşılması için kritik öneme sahiptir.

İlgili konular