2016-03-27 24 views
1

Graphlab,Belirli satırları Graphlab veya Python'da bulun

Daha büyük bir listeden küçük bir film alt kümesiyle çalışıyorum.

movieIds_5K_np = LL_features_SCD_min.to_numpy()[:,0] 
    ratings_33K_np = ratings_33K.to_numpy() 

movieIds_5K_np

benim movieIds içeren bir dizidir. scores_33K_np ', ikinci sütunları TÜM filmler için film Ids içeren FOUR sütunlarına sahip bir dizidir.

Yalnızca "movieIds_5K_np" öğesinde kimliği olan ratings_33K_np satırlarını seçmem gerekiyor.

Ben bu yaklaşımı denedik ama çalışıyor gibi görünüyor değildir: Ben Graphlab veya bazı Python kütüphanelerini kullanarak bunu nasıl

ratings_5K_np = ratings_33K_np[ratings_33K_np[:,2]==movieIds_5K_np] 

? Orijinal olarak ratings_33K ve movieIds_5K SFrame olarak alındığını söylemeliyim.

Teşekkür

cevap

1

size 2 sframe s var olduğu göz önüne alındığında, bunu gibi bir join yapabilirsiniz:

ratings_5K = LL_features_SCD_min[['id_column_name']].join(ratings_33K, on='id_column_name', how='left') 

Bildiğim kadarıyla sizin kodundan anlaşıldığı gibi LL_features_SCD_minsframe tekabül aşağıdadır miniset (5K veri). Yani istediğiniz kimlikleri alıp tüm veri kümesiyle birleştirmeye bırakın, böylece sadece istediğiniz kimliklerle yeni bir sframe elde edin. Sadece id sütun adınızı değiştirin ve işte gidiyorsunuz.

join'un graphlab içinde nasıl çalıştığı hakkında daha fazla bilgi için, SFrame numaralı telefondan documentation denetimini düşünebilirsiniz.

İyi şanslar!

+0

Teşekkürler, oldukça iyi çalıştı. 'Sol' ve 'iç' arasındaki farkı bilebilir miyim. Bu durumda 'iç' birleşim kullanmış olsaydım, 'soldan' bahsetmemeliydin 'sol' – Yas

+1

'left' birleşiminde, sonucunuzdaki LL_features 'sframe' inin tüm satırlarına sahip olmanızı sağlar (rating_33 içinde boş satırlar için boş değerler ile) 'sframe),' iç' birleştirme, yalnızca 'sframe'lerde yer alan satırları döndürür,' LL_features' sframe'nın rating_33K' sframe'sindeyse mevcut olmayan değerlerini bırakır. İhtiyacınıza bağlı olarak, birini veya diğerini kullanabilirsiniz. "Join" türlerinin görsel bir açıklaması için, bkz. [This] (http://stackoverflow.com/questions/5706437/whats-the-difference-between-inner-join-left-join-right-join-and- tam üyelik) cevap – iulian

+0

İnanılmaz açıklamalar ve linkler. Çok teşekkürler – Yas

İlgili konular