Python 查找每个组的最小时间增量

Python 查找每个组的最小时间增量,python,pandas,group-by,Python,Pandas,Group By,我想找到每个组的最小时间增量。 例如,我有以下数据集: DataSet Name TimeFromStart Omri 442 days Omri 480 days Omri 443 days Lior 115 days Lior 80 days Lior 0 days Output: Name MinTimeDelta: Omri 1 Lior 35 我认为有

我想找到每个组的最小时间增量。 例如,我有以下数据集:

DataSet
Name   TimeFromStart
Omri        442 days
Omri        480 days
Omri        443 days
Lior        115 days
Lior        80 days
Lior        0 days


Output:
Name        MinTimeDelta:
Omri        1
Lior        35

我认为有一种简洁明了的方法可以通过groupby和pandas实现这一点,但不幸的是,我没有找到如何使用groupby实现这一点。

首先按两列排序,然后使用自定义lambda函数和min,按广告最后一个系列转换到数据帧:


首先按对两列进行排序,然后使用自定义lambda函数和min,按ad last Series转换为days to DataFrame:

df1 = (df.sort_values(['Name','TimeFromStart'])
         .groupby('Name')['TimeFromStart']
         .apply(lambda x: x.diff().min())
         .dt.days
         .reset_index(name='MinTimeDelta'))
print (df1)
   Name  MinTimeDelta
0  Lior            35
1  Omri             1