使用python过滤一行的开始时间和另一行的结束时间

问题描述 投票:0回答:2

我有一个重复活动的数据集。我需要以这样的方式过滤那些,即我有第一次出现的开始日期和最后一次出现的结束日期以及单个活动。

数据帧:

https://i.stack.imgur.com/UC0SP.png

请参阅提供的链接。任何帮助,将不胜感激。

谢谢

python pandas dataframe filtering
2个回答
0
投票

如有必要,首先将列转换为日期时间:

df[['Start','End']] = df[['Start','End']].apply(pd.to_datetime)

然后每组汇总firstlastminmax

df1 = df.groupby('Activity', as_index=False).agg({'Start':'first', 'End':'last'})

df1 = df.groupby('Activity', as_index=False).agg({'Start':'min', 'End':'max'})

0
投票

我想你正在尝试的是在开始和结束时间中发起'活动'。例如,如果你正在尝试'a'俱乐部,那么第一个'a'的开始时间和最后'a'的结束时间就是你想要得到的。

© www.soinside.com 2019 - 2024. All rights reserved.