Python 如何计算某一天的重复次数?
我需要计算cpf专栏一天的对话时间。例如,第一个cpf是1234,所以在第1天,这个cpf在2018年1月8日12:50:0发起一个对话,对话的结束时间是2018年1月8日15:50:0,我需要的正是这个关于enddate-startdate的删减,但像1234在2018年1月8日有三个对话一样,在桌子中间显得不协调,减法是第一次谈话的第一个小时减去最后一次谈话的最后一个小时。我该怎么做Python 如何计算某一天的重复次数?,python,pandas,dataframe,pandas-groupby,data-science,Python,Pandas,Dataframe,Pandas Groupby,Data Science,我需要计算cpf专栏一天的对话时间。例如,第一个cpf是1234,所以在第1天,这个cpf在2018年1月8日12:50:0发起一个对话,对话的结束时间是2018年1月8日15:50:0,我需要的正是这个关于enddate-startdate的删减,但像1234在2018年1月8日有三个对话一样,在桌子中间显得不协调,减法是第一次谈话的第一个小时减去最后一次谈话的最后一个小时。我该怎么做 cpf day startdate enddate 1234 1 08/
cpf day startdate enddate
1234 1 08/01/2018 12:50:0 08/01/2018 15:30:0
1234 1 08/01/2018 14:30:0 08/01/2018 15:40:0
1234 1 08/01/2018 14:50:0 08/01/2018 15:50:0
1234 2 08/02/2018 20:20:0 08/02/2018 23:50:0
1234 2 08/02/2018 22:50:0 08/02/2018 23:50:0
1235 1 08/01/2018 11:50:0 08/01/2018 15:20:0
5212 1 08/01/2018 14:50:0 08/01/2018 15:20:0
使用
groupby
+transform
cpf day startdate enddate Time_Conversation
1234 1 08/01/2018 12:50:0 08/01/2018 15:30:0 3:00:0
1234 1 08/01/2018 14:30:0 08/01/2018 15:40:0 3:00:0
1234 1 08/01/2018 14:50:0 08/01/2018 15:50:0 3:00:0
1234 2 08/02/2018 20:20:0 08/02/2018 23:50:0 3:30:0
1234 2 08/02/2018 22:50:0 08/02/2018 23:50:0 3:30:0
1235 1 08/01/2018 11:50:0 08/01/2018 15:20:0 4:30:0
5212 1 08/01/2018 14:50:0 08/01/2018 15:20:0 4:30:0
#df[['startdate','enddate']]=df[['startdate','enddate']].apply(pd.to_datetime)
g=df.groupby(['cpf' ,'day'])
df['DIFF']=g.enddate.transform('last')-g.startdate.transform('first')