I组基础上的字段“计算机名”,“LocalIPAddress”,然后一个数据帧寻找各组连续日期之间的差值。日期的差异使用DIFF()
df2 = df.groupby(['MachineName', 'LocalIPAddress', 'DateTime'])['DateTime'].agg(
['count']).reset_index()
df2['DateTime'] = pd.to_datetime(df2['DateTime'])
df2['timedif'] = df2['DateTime'].diff()
它非常适用第一组,而第二组的,它不会从头开始,而是从减去其先前记录的日期时间日期时间这是一个不同的组。
样本数据:
MachineName LocalIPAddress DateTime count timedif
0 BMTSAFT04 10.18.0.186 2016-04-13 03:42:29.865 1 NaT
1 BMTSAFT04 10.18.0.186 2016-04-13 08:48:33.005 1 05:06:03.140000
2 BMTSAFT04 10.18.0.186 2016-04-13 10:16:28.612 1 01:27:55.607000
3 BMTSAFT04 10.18.0.186 2016-04-13 10:31:33.343 1 00:15:04.731000
4 BMTSAFT04 10.18.0.186 2016-04-13 23:43:12.068 1 13:12:56.580000
5 BMTSYSP05 10.20.9.253 2016-04-13 06:08:53.584 1 -1 day +06:25:41
6 BMTSYSP05 10.20.9.253 2016-04-13 12:01:57.563 1 05:53:03.979000
第五行属于不同的组,这样的时间差不应该-1 day +06:25:41
,它必须是NAT功能。我需要为每个分组应用差异逻辑。
任何帮助,将不胜感激!
@ user3447653的是,在所有有用的东西,你想干什么? – Thanos