SORU
5 Kasım 2013, Salı


Harita arasındaki fark, applymap ve Pandalar yöntemleri uygulamak

Temel örnekler ile bu vektörleştirme yöntemi kullanmak için bana söyleyebilir misiniz? map gerisi DataFrame yöntem ise Series bir yöntem olduğunu görüyorum. apply applymap yöntem konusunda bile kafam karıştı. Neden bir DataFrame bir işlevi uygulamak için iki yöntem var mı? Yine, kullanımını gösteren basit örnekler harika olurdu!

Teşekkürler!

CEVAP
5 Kasım 2013, Salı


Wes düz McKinney Python for Data Analysis kitap, pg. 132 (ben çok bu kitabı tavsiye):

Başka bir sık işlem her satır ve sütun 1D dizilerinde bir işlevi uyguluyor. DataFrame yöntemi Tam olarak bunu yapar geçerlidir:

In [116]: frame = DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio', 'Texas', 'Oregon'])

In [117]: frame
Out[117]: 
               b         d         e
Utah   -0.029638  1.081563  1.280300
Ohio    0.647747  0.831136 -1.549481
Texas   0.513416 -0.884417  0.195343
Oregon -0.485454 -0.477388 -0.309548

In [118]: f = lambda x: x.max() - x.min()

In [119]: frame.apply(f)
Out[119]: 
b    1.133201
d    1.965980
e    2.829781
dtype: float64

En yaygın dizi istatistiklerin çok toplam ve ortalama gibi () yöntemleri DataFrame, yani uygulamak kullanarak gerekli değildir.

Element-bilge fonksiyonları kullanılabilir, çok Python. Her kayan nokta değeri biçimlendirilmiş bir dize hesaplamak için çerçeve içinde istediğini varsayalım. Applymap ile bunu yapabilirsiniz:

In [120]: format = lambda x: '%.2f' % x

In [121]: frame.applymap(format)
Out[121]: 
            b      d      e
Utah    -0.03   1.08   1.28
Ohio     0.65   0.83  -1.55
Texas    0.51  -0.88   0.20
Oregon  -0.49  -0.48  -0.31

Adı applymap nedeni Dizi uygulamak için harita bir yöntem element-bilge fonksiyonu vardır

In [122]: frame['e'].map(format)
Out[122]: 
Utah       1.28
Ohio      -1.55
Texas      0.20
Oregon    -0.31
Name: e, dtype: object

Özetle, apply Bir DataFrame satır / sütun olarak, applymap çalışır-akıllı eleman bir DataFrame üzerinde çalışıyor, ve map-bilge elemanı bir Dizi üzerinde çalışıyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • Hot For Nutrition

    Hot For Nutr

    26 ŞUBAT 2007
  • RickardRick

    RickardRick

    9 Mart 2007