我有一个数据集:
login id
0 2015-06-22 04:55:00 1
1 2015-06-23 05:55:00 1
2 2015-06-25 04:55:00 2
3 2015-06-26 02:55:00 2
4 2015-07-02 04:55:00 2
5 2015-07-12 04:55:00 3
6 2015-07-13 04:55:00 3
7 2015-07-15 04:55:00 5
8 2015-07-21 04:55:00 5
9 2015-07-22 04:55:00 5
10 2015-07-30 04:55:00 5
11 2015-08-30 04:55:00 5
12 2015-06-02 04:55:00 7
13 2015-07-02 04:55:00 7
14 2015-08-02 04:55:00 7
我正在Python中使用Pandas进行分析。我想检查特定的ID是否在24小时内至少登录了2次,并将这些ID存储在名为good_id的列表中。
例如: id = 1不会被存储,因为它们登录了两次,但登录时间为25小时。 id = 2将被存储,因为它们具有。
等
答案 0 :(得分:2)
这是一个多步骤方法:
<canvas id="userImage"></canvas>
答案 1 :(得分:0)
确保要按索引对数据框进行排序,然后按登录进行排序。
import numpy as np
df.sort_values(by=['id','login'],inplace=True)
df['diff'] = df['login'].diff() / np.timedelta64(1,'h')
答案 2 :(得分:0)
Groupby和diff
df['login'] = pd.to_datetime(df['login'])
df.loc[df.groupby('id')['login'].diff().astype('timedelta64[h]') <= 24, 'id'].unique().tolist()
你得到
[2, 3, 5]