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

  • Hudson Music

    Hudson Music

    13 Mart 2007
  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013