2016-03-31 17 views
1

İşlev girişlerine göre DataFrame filtrelerini işleyen bir işlev yazmak istiyorum. Benim ilk girişimi buradadır:Değişken pandalara göre filtrele

def Breakdown(file, key = None, value = None): 
    if key is not None: 
     if sampreach in ['s', 'S', 'sample', 'Sample']: 
      sampreach = sample[sample.key in [value]] 
      CountName = 'Total Count' 
     elif sampreach in ['r', 'R', 'reachable', 'Reachable']: 
      sampreach = reachable[reachable.key in [value]] 
      CountName = 'Reachable Count' 
    else: 
     if sampreach in ['s', 'S', 'sample', 'Sample']: 
      sampreach = sample 
      CountName = 'Total Count' 
     elif sampreach in ['r', 'R', 'reachable', 'Reachable']: 
      sampreach = reachable 
      CountName = 'Reachable Count' 

Ama şu hata var:

AttributeError: 'DataFrame' object has no attribute 'key' 

gol adı gibi bir sütun başlığının adına eşit key ve value ayarlamak mümkün olduğunu filtrelenecek veya filtrelemek için daha iyi bir değer aralığı.

Yardım için şimdiden teşekkür ederiz!

sampreach = sample[sample.key in [value]] 

hangi

sampreach = sample[sample[key].isin(value)] 

olarak daha iyi çalışabilir Ama yorumlarda önerildiği gibi, eksik bazı bilgileri var: göze çarpan ve gördüğünüz hatayı neden olabilir

+1

Bazı örnek verileri ve beklenen sonucu verebilir misiniz? – Alexander

cevap

1

bir şey olduğunu (örnekte sampreach nedir?) örnek verilerinin yanı sıra neler olup bittiğini daha bilinçli bir tahminde bulunmak için beklenen çıktı.

+0

Çok teşekkür ederim! Bu mükemmel çalıştı. – Josh

İlgili konular