如何選擇在列中的某個值首次出現之前的行?在熊貓數據框的特定條目之前選擇所有行
我有記錄如下用戶活動數據集及其時間戳:
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'})]
有沒有一種方法來選擇所有首次購買發生從數據幀中的每個用戶在此之前發生的行?在這個例子中,慾望輸出將是
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'})]