2016-03-31 9 views
1

DataFrameを関数入力でフィルタリングする関数を記述したいと思います。私の最初の試みはここにある:変数pandasでフィルタ

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' 

しかし、私は次のエラーました:

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

目標はの名前として列ヘッダーの名前と同じkeyvalueを設定することができることですがフィルタリングする値、より良いフィルタリングする値の範囲を指定します。

ありがとうございました!

+1

サンプルデータと期待される結果を提供してください。 – Alexander

答えて

1

際立っているとあなたが見ているエラーを引き起こす可能性があります一つのことがある:

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

として良い仕事かもしれません

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

しかし、コメントで提案されているように、不足しているいくつかの情報があります(例えば、sampreachとは何ですか?)だけでなく、サンプルデータと予想される出力が、何が起こっているかをより正確に推測することができます。

+0

ありがとう!これは完全に機能しました。 – Josh

関連する問題