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

Python中筛选重复手机号且对应状态列值不一致的条目

Python中筛选重复手机号且对应状态列值不一致的条目

嗨,我明白你的需求了——你要从CSV里找出那些重复的手机号,而且这些手机号对应的状态列(Col2)值还不一致的条目对吧?我给你整理了两种实用的解决方法,你可以根据自己的需求选:

方法一:先定位有冲突的手机号,再提取对应行

这种方法会先找出所有存在状态矛盾的手机号,再从原数据里把这些号码的所有相关行提取出来,适合你需要单独拿到问题手机号列表的场景:

import pandas as pd

# 读取CSV文件
df = pd.read_csv("Example_File")

# 按手机号分组,筛选出Col2值不止一种的手机号
conflicting_numbers = df.groupby("Col 1")["Col2"].nunique()[lambda x: x > 1].index

# 从原数据中提取这些手机号对应的所有行
result = df[df["Col 1"].isin(conflicting_numbers)]

# 输出结果
print("存在状态冲突的手机号列表:", conflicting_numbers.tolist())
print("\n对应的所有条目:")
print(result)

方法二:一步到位标记并筛选

如果你想直接给每行数据标记是否属于冲突组,后续还能灵活处理的话,可以用transform方法一步完成:

import pandas as pd

df = pd.read_csv("Example_File")

# 给每行添加一个标记:该手机号的Col2是否存在多种不同值
df["has_conflict"] = df.groupby("Col 1")["Col2"].transform(lambda x: x.nunique() > 1)

# 筛选出所有存在冲突的行
result = df[df["has_conflict"]]

print(result)

拿你给出的示例数据测试的话,两种方法都会返回555-123-4567对应的两行数据,完全符合你的需求~

备注:内容来源于stack exchange,提问作者Bcpeagle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 13:09:35