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 记录的主要内容,如果未能解决你的问题,请参考以下文章

pandas error记录随笔

Python pandas 获取Excel重复记录

每个唯一值采样一条记录(pandas,python)

当不存在公共记录时,Pandas 合并删除添加的列

Pandas 跨记录扩展 json 字段

如何在 Pandas 中创建按索引分组的记录列表?