[英]Pandas python - Find the minimum timedelta of each group
我想找到每個組的最小 timedelta。 例如,我有以下數據集:
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 來做到這一點,但不幸的是,我沒有設法找到如何使用 groupby 做到這一點。
首先通過排序兩列DataFrame.sort_values
,然后使用自定義的λ函數的使用Series.diff
和min
,並轉換為天Series.dt.days
廣告最后的Series
到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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.