熊猫查找日期的频率

时间:2019-04-16 17:15:53

标签: python pandas

我有一个数据集:

    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将被存储,因为它们具有。

3 个答案:

答案 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]