過濾df
與最小日期的指標。
idxmin
讓你知道該索引。然後傳遞給loc
。
df.loc[df.groupby(['id', 'period', 'type']).date.idxmin()]
考慮df
df = pd.DataFrame([
['a', 'q', 'y', '2011-03-31'],
['a', 'q', 'y', '2011-05-31'],
['a', 'q', 'y', '2011-07-31'],
['b', 'q', 'x', '2011-12-31'],
['b', 'q', 'x', '2011-01-31'],
['b', 'q', 'x', '2011-08-31'],
], columns=['id', 'period', 'type', 'date'])
df.date = pd.to_datetime(df.date)
df
id period type date
0 a q y 2011-03-31
1 a q y 2011-05-31
2 a q y 2011-07-31
3 b q x 2011-12-31
4 b q x 2011-01-31
5 b q x 2011-08-31
然後
df.loc[df.groupby(['id', 'period', 'type']).date.idxmin()]
id period type date
0 a q y 2011-03-31
4 b q x 2011-01-31
'df.sort_values( '日期')。GROUPBY([ 'ID', '期間', '類型' ])。first()'? – MaxU