pandas 记录
Posted ~小疯子~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas 记录相关的知识,希望对你有一定的参考价值。
1. dt1 中有的数据,在dt2 中也有,取dt1中有,dt2中没有的数据
# 方法一:
user_push = pd.DataFrame(columns=dt1.columns)
for user, group in dt1.groupby(by=['user_id']):
push_history = dt2[dt2.user_id == user]['item_id'].values
group = group[~group.item_id.isin(push_history)]
if not group.empty:
# group = group.sample(1)
group.loc[:, 'user_id'] = user
user_push = pd.concat((user_push, group))
user_push
方法二:
slice_lable = (
dt1[['user_id','item_id']].apply(tuple, axis=1).isin(dt2[['user_id','item_id']].apply(tuple, axis=1).to_list())
)
slice_lable
user_push = dt1[~slice_lable]
user_push
返回结果:
2. 对dt1 中按照user_id 进行分组,按照cnt 进行排序,取用户的前n个
dt1.sort_values('cnt', ascending=False).groupby('user_id', as_index=False).first()
dt1.sort_values('cnt', ascending=False).groupby('user_id', as_index=False).head(4)
以上是关于pandas 记录的主要内容,如果未能解决你的问题,请参考以下文章