簡體   English   中英

Pandas python - 找到每組的最小時間增量

[英]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.diffmin ,並轉換為天Series.dt.days廣告最后的SeriesDataFrame

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM