擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>In [162]: df
Out[162]:
Timestamp Clientip
0 2015-07-22T02:40:06.499174Z 106.51.235.133
1 2015-07-22T02:50:06.000000Z 106.51.235.133
2 2015-07-22T02:40:06.632589Z 115.250.16.146
3 2015-07-22T03:30:16.111111Z 115.250.16.146
In [163]: df.Timestamp = pd.to_datetime(df.Timestamp, errors='coerce')
In [164]: df
Out[164]:
Timestamp Clientip
0 2015-07-22 02:40:06.499174 106.51.235.133
1 2015-07-22 02:50:06.000000 106.51.235.133
2 2015-07-22 02:40:06.632589 115.250.16.146
3 2015-07-22 03:30:16.111111 115.250.16.146
In [165]: df.groupby('Clientip')['Timestamp'].apply(lambda s: (s - s.shift(1) > pd.Timedelta("15 min")).fillna(0).cumsum(skipna=False))
Out[165]:
0 0
1 0
2 0
3 1
Name: Timestamp, dtype: int32
</code></pre>