You need to enable JavaScript to run this app. Python pandas如何保留数据集前500个唯一user_id对应的所有行
优惠活动
大模型
产品
解决方案
定价
更多

Python pandas如何保留数据集前500个唯一user_id对应的所有行

实现方法

pandas 的 Series.unique() 方法返回的结果严格按照值在数据集中首次出现的顺序排列,刚好匹配你需要的排序规则,不需要额外调整顺序,整体操作非常简单:

  • 提取按出现顺序排列的唯一user_id列表,截取前500个:
    执行代码:
    top_500_users = df['user_id'].unique()[:500]
  • 基于上述用户列表过滤原数据集,保留所有匹配用户的行:
    执行代码:
    filtered_df = df[df['user_id'].isin(top_500_users)]

可以拿你给的示例数据集做效果验证:原数据集里user_id的首次出现顺序是420、156,如果我们只取前1个目标用户,代码会把所有user_id为420的行(也就是你提到的第1行、第3行)全部保留,完全符合预期。

注意:提取目标用户的时候别用集合去重、先排序再去重的逻辑,这类操作会打乱原始出现顺序,选出来的前500个用户就不符合「按首次出现顺序取前500个」的要求了。


内容的提问来源于stack exchange,提问作者x89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 23:45:03