2016-04-06 20 views
0

değerlerine bağlı olarak seçilmesi Değerler listesine göre satır seçmenin bir yolu olup olmadığını bilmek istiyorum. Yani, bir listeden değerler temel alınarak bir veri kümesinden bir alt kümesi oluşturun.pandas veri kümesinin alt kümesinin

Daha fazla açıklamak gerekirse, Chris Albon'dan bir dataframe örneğini alıyorum.

fnames = ['Alex', 'Alice', 'Ayoung'] 

Ne zaman yapmış üzerinden bir çalışma döngüsü şudur:

raw_data = { 
     'subject_id': ['1', '2', '3', '4', '5'], 
     'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 
     'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']} 
df_a = pd.DataFrame(raw_data, columns = ['subject_id', 'first_name', 'last_name']) 
df_a 

Ben sadece aşağıdaki listeden 'first_name' dayalı satırları seçmek istiyorsunuz: Aşağıdaki dataframe olduğunu varsayalım koşulu ile fnames:

for fn in fnames: 
    df_name = df_a[(df_a['first_name'] == fn 

ve sonra ekleme/concat yeni bir veri çerçevesine her satır ben ne arzu yaratmak. Bir veriyi bir listeden elde edilen değerlere göre ayırmak için daha iyi bir yol var mı?

+1

, sen 'df_a yapmak istiyorum temelde yukarıda dupe bakınız [. Df_a [ 'first_name'] isin (fnames)]' – EdChum

+0

Tamam, teşekkürler . Lütfen soruyu kapatın. Nasıl yapılacağını bilmiyorum? – Rohit

+0

Teşekkürler Ed. Dupe için özür dilerim. Tam olarak ne arayacağınızı bilmiyordum. – Rohit

cevap

0

isin yöntemi kullanın:

Bu soru kapatılmalıdır
df_name = df_a[(df_a['first_name'].isin(fn) 
+0

Yani diyorsunuz, hala dönmem gerekiyor mu? – Rohit

+0

Çözümünüzü denedim ama bir hata alıyorum: KeyError: "['Alex' 'Amy' 'Allen' 'Alice' 'Ayoung'] endekste değil" – Rohit

İlgili konular