我目前正在尝试根据两列删除重复项,但在删除之前计算这些重复项的数量。我已经通过以下方式实现了这一点:
df_interactions = df_interactions.groupby(['user_id','item_tag_ids']).size().reset_index() \
.rename(columns={0:'interactions'})
但是这样会留下以下结果:
user_id item_tag_ids interactions
0 170 71 1
1 170 325 1
2 170 387 1
3 170 474 1
4 170 526 2
它能够对计数、添加列和删除重复项做到我想要的,但如果我要保留原始结构(加上新列)怎么办?在groupby
中添加更多内容会改变其行为。
这是原始结构,我只想按ID分组:
user_id item_tag_ids item_timestamp
0 406225 7271 1483229353
1 406225 1183 1483229350
2 406225 5930 1483229350
3 406225 7162 1483229350
4 406225 7271 1483229350
我希望小的数据框中的新
item_timestamp
字段包含该组合的第一个出现的时间戳。
item_timestamp
。基本上,按这些ID进行分组,计算交互次数(在去重之前的重复项),在去除重复项后添加item_timestamps
。 - apgsov