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

如何基于现有DataFrame指定列唯一值高效创建新DataFrame

要实现按Main列保留首次出现的行,直接用pandas内置的drop_duplicates方法即可,底层为C实现的向量化操作,百万行数据处理效率远高于Python层的逐行遍历。

核心代码

new_df = df.drop_duplicates(subset="Main", keep="first").reset_index(drop=True)

参数说明

  • subset="Main":指定仅根据Main列判断行是否重复
  • keep="first":保留重复值第一次出现的行,完全符合你的需求
  • reset_index(drop=True):可选,重置新DataFrame的索引为连续的0、1、2……,和你示例输出的索引格式完全一致

性能对比

你原来的逐行遍历方案,每次判断元素是否在列表中时间复杂度为O(n),整体复杂度为O(n²),百万行下会非常慢;drop_duplicates采用哈希表判重,整体时间复杂度为O(n),百万行数据通常可以在1秒内处理完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 16:06:01