【发布时间】:2023-03-06 08:34:01
【问题描述】:
我正在寻找一种方法来确定 pandas 数据帧的一列或一组列是否唯一标识该数据帧的行。我见过这个叫isid function in Stata.
我能想到的最好方法是使用集合推导获取列子集的唯一值,并断言集合中的值与数据框中的行数一样多:
subset = df[["colA", "colC"...]]
unique_vals = {tuple(x) for x in subset.values}
assert(len(unique_vals) == len(df))
这不是世界上最优雅的答案,所以我想知道是否有一个内置函数可以做到这一点,或者可能是一种测试列子集是否是唯一值索引的方法。
【问题讨论】: