You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas删除user与quiz组合重复行,保留用户每道测验首次答题记录

解决方案

你需要的功能可以直接通过pandas内置的drop_duplicates方法实现,该方法做了底层优化,即使是大体积DataFrame也能高效处理,无需手动删行。

前提确认

请先确保你的原始DataFrame行顺序是按答题时间升序排列的,即同一用户同一测验的答题记录中,首次作答的行排在最前。如果有单独的答题时间字段,可先执行排序操作保证顺序正确:

# 按用户、测验、答题时间升序排序,确保首次作答记录在前
df = df.sort_values(by=['user', 'quiz', 'answer_time'], ascending=True)

核心去重代码

# 按user和quiz组合去重,仅保留每组第一条记录
res_df = df.drop_duplicates(subset=['user', 'quiz'], keep='first')
# 按需修改列名匹配期望输出
res_df = res_df.rename(columns={'result': 'FirstResult'})

参数说明

  • subset:指定判断重复的依据列,这里传入user和quiz即可识别两个字段组合重复的行
  • keep='first':指定重复行中保留最先出现的那一条,刚好匹配保留首次答题记录的需求

运行后得到的res_df就和你给出的期望输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:45:04