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