df = pd.DataFrame({'ID': [10001, 10001, 10001, 10002, 10002, 10002, 10003, 
    10003, 10003], 'PRICE': [14.5, 14.5, 14.5, 15.125, 14.5, 14.5, 14.5, 
    14.5, 15.0], 'date': [19920103, 19920106, 19920107, 19920108, 19920109,
    19920110, 19920113, 19920114, 19920115]}, index=list(range(1, 10)))

def mask_first(x):
    result = np.ones_like(x)
result[0] = 0
return result
mask = df.groupby(['ID'])['ID'].transform(mask_first).astype(bool)
print(df.loc[mask])
Python: Pandas — удалить первую строку по группе