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

如何验证数据集指定行中所有变量的取值是否全部唯一

判断数据集指定行取值是否全部唯一的实现方法

核心判断逻辑:提取目标行除行标识列(如示例中的Name列)外的所有数值,对比去重后的数据长度与原数据长度,二者相等则所有取值唯一,返回TRUE,否则返回FALSE。


常用工具实现方案

  • Python(Pandas场景)

import pandas as pd

# 示例构造数据集,实际使用可替换为pd.read_csv/读取你自己的文件
df = pd.DataFrame({
    "Name": ["A", "B", "C", "D"],
    "F": [1,2,3,4],
    "S": [2,3,4,5],
    "T": [3,4,5,4]
})

def check_row_unique(df, target_row_name):
    # 提取目标行,排除Name列后提取所有取值
    row_values = df[df["Name"] == target_row_name].drop("Name", axis=1).values.flatten().tolist()
    # 对比去重前后长度是否一致
    return len(set(row_values)) == len(row_values)

# 调用示例:判断D行
print(check_row_unique(df, "D"))
# 第一个示例输出为True,第二个示例输出为False
  • R语言场景

# 示例构造数据集,实际使用可替换为read.csv读取你自己的文件
df <- data.frame(
  Name = c("A", "B", "C", "D"),
  F = c(1,2,3,4),
  S = c(2,3,4,5),
  T = c(3,4,5,4)
)

check_row_unique <- function(df, target_row_name) {
  # 提取目标行排除Name列的取值
  row_values <- unlist(df[df$Name == target_row_name, !names(df) %in% "Name"])
  # 判断去重后长度是否和原长度相等
  return(length(unique(row_values)) == length(row_values))
}

# 调用示例
check_row_unique(df, "D")
# 第一个示例输出为TRUE,第二个示例输出为FALSE
  • Excel场景

假设你的数据存放在A~D列,A列为Name,第一行是表头,D行对应第5行数据,可直接在空白单元格输入公式:
=IF(SUMPRODUCT(1/COUNTIF(B5:D5,B5:D5))=COLUMNS(B5:D5),TRUE,FALSE)
公式逻辑:COUNTIF统计每个值的出现次数,取倒数求和后等于列数,说明所有值无重复。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:48:00