2012-08-23 4 views
316

可能性の重複:パンダのデータフレームから行を選択するために、値のリストを使用し

df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]}) 
df 

    A B 
0 5 1 
1 6 2 
2 3 3 
3 4 5 

I:
how to filter the dataframe rows of pandas by “within”/“in”?

は、私は以下のパンダのデータフレームを考えてみましょう特定の値に基づいてサブセット化することができます:

x = df[df['A'] == 3] 
x 

    A B 
2 3 3 

しかし、どのように値のリストに基づいてサブセット化できますか? - このような何か:

list_of_values = [3,6] 

y = df[df['A'] in list_of_values] 
+0

は、これは本当に重複しますか? inを使わずにサブセットを取得する方法はありますか? – Chogg

答えて

486

これは確かにhow to filter the dataframe rows of pandas by "within"/"in"?の複製である、あなたの例に対する応答を翻訳しています:

In [5]: df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]}) 

In [6]: df 
Out[6]: 
    A B 
0 5 1 
1 6 2 
2 3 3 
3 4 5 

In [7]: df[df['A'].isin([3, 6])] 
Out[7]: 
    A B 
1 6 2 
2 3 3 
+2

これらの値をリストの順にどのように返すのですか?例えば、 'list_of_values'は3から6の値を持ちますが、フレームは6から3で返されます。単純なソートではなく、リスト内の値の順番でどのくらい具体的に返すことができます。 –

+0

これは、インデックスからの順序を保持するブーリアンインデックスの例です。詳細については、http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-with-isinを参照してください。選択後のソートが必要です。 –

+0

これは私を助けましたhttp://stackoverflow.com/a/29108799/5629831 –

関連する問題