2017-02-14 5 views
0

に各グループに係る列内の「真」値の前に「偽」の値をもつ行のサブセットに私は、データフレームをサブセット化についてお尋ねしたいと思いますパンダ:どのように他の列

は、私のようなデータフレームがあるとし

|index |name|buy| 
-------------- 
0 a False 

1 a True 

2 b False 

3 c True 

4 b False 

5 a False 

6 c True 

7 c False 

問題が列のtrue値前False値を持つ行サブセットする方法である(この場合buy列)他の列の各グループにについて(この場合nameカラム)

求めた結果がその

|index |name|buy| 
-------------- 
0 a False 

2 b False 

4 b False 

のようなものです私はその後、その後、サブセットとそれらをバックCONCAT最初の真見つけるnp.whereを使用し、各nameによってデータフレームをサブセット化することにより、それを試してみましたが、私はそれが非常に遅い

たですより効率的な方法がありますか?

+0

データが表示されない:「コード」として質問に投稿してくださいt画像)。 – cmaher

+0

ありがとう@cmher私はそれについて新しいです。私はそれをテキストに編集しました –

答えて

0

これが頭に浮かぶ最も簡単な方法です:

1:前に各False行のインデックス値を取得するために1を引き、その後buyTrueある行のインデックスを取得し、

target_ix = dframe[dframe[dframe.buy==True].index + 1 

2:target_ixを使用してDataFrameをサブセット化する

dframe.iloc[target_ix,:] 
関連する問題