0

I have the following dataframe

   application_name app_version  change_id    commit_date           commit_hash   author
0  app1             v1.1.0       CHG0071724   2023-05-05 18:43:08   11abe64       user1
1  app1             v1.1.0       CHG0071724   2023-05-02 09:17:12   884cb31       user2
2  app1             v1.1.0       CHG0071724   2023-04-16 11:44:36   1bcea01       user3
3  app1             v1.0.0       CHG0055856   2023-02-20 21:13:06   7ed34f6       user4
4  app1             v1.0.0       CHG0055856   2023-02-15 16:28:13   116ffe0       user5
5  app1             v1.0.0       CHG0055856   2023-02-09 12:56:01   23495fd       user6

And this is my groupby

gb = df.groupby(['application_name', 'app_version', 'change_id'])
df2 = gb.agg({'date': 'min'}).reset_index()

Which gives me

  application_name  app_version  change_id    commit_date
0 app1              v1.0.0       CHG0055856   2023-02-09 12:56:01
1 app1              v1.1.0       CHG0071724   2023-04-16 11:44:36

But I want all the additional columns from the matching minimum commit_date?

  application_name  app_version  change_id    commit_date           commit_hash   author
0 app1              v1.0.0       CHG0055856   2023-02-09 12:56:01   23495fd       user6
1 app1              v1.1.0       CHG0071724   2023-04-16 11:44:36   1bcea01       user3

Any ideas? Thanks

Erkan
  • 151
  • 2
  • 11
  • `df.loc[df.groupby(['application_name', 'app_version', 'change_id'])['commit_date'].idxmin()]` – mozway May 05 '23 at 20:42

0 Answers0