SORU
24 Ocak 2012, Salı


Neden python pandalar birleştirir daha hızlı veri daha vardır.R birleştirir tablo?

Geçenlerde 8 ** göre çok hızlı bellek birleştirir gerçekleştiren python için pandas kütüphane rastladım. R (analiz için seçim benim dil) data.table paket bile daha hızlı.

Neden pandas çok hızlı data.table Daha? Avantaj python R, yoksa farkında olmadığım bazı değiş tokuş doğal bir hız yüzünden mi? Bir şekilde merge(X, Y, all=FALSE) merge(X, Y, all=TRUE) başvurmadan data.table iç ve dış birleşimler var mı?

Comparison

İşte R code Python code çeşitli paketleri kıyaslama için kullanılır.

CEVAP
24 Ocak 2012, Salı


Bu nedenle pandalar daha hızlı olduğu için geldim ile daha iyi bir algoritma, bu uygulamaya çok dikkatli kullanarak a fast hash table implementation - klib C/Cython önlemek için Python yorumlayıcısı yükü olmayan vectorizable parçaları. Konuşmamda bazı ayrıntılı olarak açıklanmıştır algoritması: A look inside pandas design and development.

Karşılaştırma R amacı data.table içerdiği çünkü data.table aslında biraz ilginçönceden hesaplanan dizinişlemleri hızlandırmak için çeşitli sütunlar için veri seçimi ve birleştirir. Bu durumda (veritabanı katılır) pandalar' DataFrame içerirönceden hesaplanmış bir bilgi yokbu birleştirme, "soğuk" birleştirme. bir şey konuşmak için kullanılıyor Eğer factorized sürümleri anahtarları katılın saklı olsaydı, factorizing bu algoritma için en büyük darboğaz olarak önemli ölçüde daha hızlı olurdu - katıl.

Ayrıca bu pandalar iç tasarım' DataFrame R veri daha bu tür işlemleri için çok daha yatkındır.eklemek gerekir çerçeve diziler içten bir listesidir).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • Mindy

    Mindy

    20 NİSAN 2006
  • Samvith V Rao

    Samvith V Ra

    20 EKİM 2006