【发布时间】:2014-03-24 18:30:57
【问题描述】:
我有一个 pandas 数据框,其中包含名为 user_id 和 login_date 的列,我想获取频繁用户的 ID(即多次登录)和他们的登录频率。
为此,我尝试了:
frequent_users = df.groupby(['login_date', 'user_id']).agg({"user_id": lambda x: x.count()})
结果是:
2011-01-17
556 1
456 1
958 1
374 2
2011-01-18
789 1
434 4
654 1
问题是,如何删除或过滤掉频率为 1 的所有条目?
编辑:
这是一个例子:
login_dates = ['2011-01-17', '2011-01-17', '2011-01-17', '2011-01-17', '2011-01-17', '2011-01-18', '2011-01-18','2011-01-18','2011-01-18', '2011-01-18', '2011-01-18']
user_id =[556,456,958,347,347,789,434,434,434,434,654]
df = DataFrame({'login_date': login_dates, 'user_id': user_id})
frequent_users = df.groupby(['login_date', 'user_id']).agg({"user_id": lambda x: x.count()})
【问题讨论】:
标签: python group-by pandas dataframe