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

Python Pandas如何删除某列值相同且另一列值不同的对应重复行

Pandas实现方案

核心逻辑:按Subject列分组后,仅保留对应Source列唯一值数量为1的分组即可自动过滤不符合要求的所有行。

完整可运行代码

import pandas as pd

# 构造样例数据
data = {
    'Date': ['12/06/21', '12/06/21', '12/06/21', '12/06/21', '12/06/21'],
    'From': ['Sender1', 'Sender2', 'Sender1', 'Sender3', 'Sender3'],
    'Subject': ['Test123', 'Confirm', 'Test123', 'Test_on', 'Test_on'],
    'Source': ['Inbox', 'Inbox', 'Sent', 'Inbox', 'Inbox']
}
df = pd.DataFrame(data)

# 核心处理逻辑
df_result = df.groupby('Subject').filter(lambda x: x['Source'].nunique() == 1)

# 输出结果
print(df_result)

代码说明

  • groupby('Subject'):将数据按邮件主题分组
  • filter()方法:对每个分组做条件校验,仅保留符合条件的分组所有行
  • x['Source'].nunique() == 1:校验当前主题对应的所有Source值是否唯一,是则保留,否则剔除该主题全部行

运行后输出的结果和预期完全一致:

DateFromSubjectSource
12/06/21Sender2ConfirmInbox
12/06/21Sender3Test_onInbox
12/06/21Sender3Test_onInbox

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:24:07