列の特定の値が最初に表示される前の行を選択するにはどうすればよいですか?パンダのデータフレームで特定のエントリの前にあるすべての行を選択
私は次のように記録されたユーザアクティビティのデータセットとそのタイムスタンプを持っている:
df = pd.DataFrame([{'user_id':1, 'date':'2017-09-01', 'activity':'Open'},
{'user_id':1, 'date':'2017-09-02', 'activity':'Open'}
{'user_id':1, 'date':'2017-09-03', 'activity':'Open'}
{'user_id':1, 'date':'2017-09-04', 'activity':'Click'}
{'user_id':1, 'date':'2017-09-05', 'activity':'Purchase'}
{'user_id':1, 'date':'2017-09-06', 'activity':'Open'}
{'user_id':1, 'date':'2017-09-07', 'activity':'Open'}
{'user_id':2, 'date':'2017-09-04', 'activity':'Open'}
{'user_id':2, 'date':'2017-09-06', 'activity':'Purchase'})]
は、最初の購入は、データフレームから、各ユーザのために起こる前に起こるすべての行を選択する方法はありますか?この例では、所望の出力が使用groupby
df = pd.DataFrame([{'user_id':1, 'date':'2017-09-01', 'activity':'Open'},
{'user_id':1, 'date':'2017-09-02', 'activity':'Open'}
{'user_id':1, 'date':'2017-09-03', 'activity':'Open'}
{'user_id':1, 'date':'2017-09-04', 'activity':'Click'}
{'user_id':2, 'date':'2017-09-04', 'activity':'Open'})]