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

如何从现有DataFrame拆分出df1(无重复名称)和df2(重复项)?

拆分DataFrame为唯一记录与重复记录集

需求说明

从给定的DataFrame中拆分出两个新DataFrame:

  • df1:包含每个Name的唯一首条记录,无重复项
  • df2:包含剩余的重复Name记录

输入DataFrame

先还原输入的DataFrame(可直接运行):

import pandas as pd

data = {
    'Name': ['Amy', 'Amy', 'jack', 'mo', 'mo', 'mo', 'linn'],
    'Age': [24, 34, 66, 76, 88, 98, 33]
}
df = pd.DataFrame(data)

解决方案

利用pandas的duplicated()方法标记重复项,再拆分数据:

# 标记每条记录是否是对应Name的重复项(保留首条)
is_duplicate = df.duplicated(subset='Name', keep='first')

# 拆分得到df1:非重复的首条记录
df1 = df[~is_duplicate]
# 拆分得到df2:剩余的重复记录
df2 = df[is_duplicate]

输出结果

  • df1(若需统一Name大小写,可额外添加df['Name'] = df['Name'].str.capitalize()处理):
NameAge
Amy24
jack66
mo76
linn33
  • df2:
NameAge
Amy34
mo88
mo98

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:45:35