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

如何在Python DataFrame中逐行检查id1列值是否唯一

逐行检查DataFrame中id列值是否唯一的实现方法

原始数据

你有如下DataFrame:

id1result
20.5
31.4
41.4
73.4
21.4

需求

需要逐行检查id1列的每个值是否唯一,期望输出每行对应的布尔值(值重复的行返回False,仅出现一次的行返回True):

False
True
True
True
False

你之前使用的df["id1"].is_unique方法只能判断整列是否所有值都唯一,无法实现逐行检查的需求。

解决方案

可以使用Pandas的duplicated()方法,配合keep=False参数来实现:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'id1': [2, 3, 4, 7, 2],
    'result': [0.5, 1.4, 1.4, 3.4, 1.4]
})

# 逐行判断id1值是否唯一
is_unique = ~df['id1'].duplicated(keep=False)

# 输出每行结果
for val in is_unique:
    print(val)

代码说明

  • df['id1'].duplicated(keep=False):该方法会将id1列中所有重复出现的值对应的行标记为True(无论第一次还是后续出现的行)
  • ~:对结果取反,使得重复值对应的行变为False,唯一值对应的行变为True,完全匹配你的期望输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:40:29