去除数据中已经存在的 ID 组合

Getting rid of combinations of IDs already present in the data

我有以下数据集

idA idB value
1   5   0.11
2   6   0.25
3   7   0.3
4   8   0.4
.   .   .
.   .   .
.   .   .
.   .   .
.   .   .
5   1   0.11
6   2   0.25
7   3   0.3
8   4   0.4

idA 和 idB 是同一数据集的 ID(基本上 idA 和 idB 都来自同一列)。 所以,如果我有 (idA = 1, idB = 5) 它与 (idB = 1, idA = 5) 相同。 我想摆脱多个案例(我的 df 底部的那个),以获得

idA idB value
1   5   0.11
2   6   0.25
3   7   0.3
4   8   0.4
.   .   .
.   .   .
.   .   .
.   .   .
.   .   .

知道怎么做吗?

谢谢我提前。

沿行 (axis=1) 应用 sorted 到组 idAidB 并使用它来查找重复的行。

df["id"] = df[["idA", "idB"]].apply(lambda x: tuple(sorted(x)), axis=1)
df[~df.duplicated("id")]
#    idA  idB  value      id
# 0    1    5   0.11  (1, 5)
# 1    2    6   0.25  (2, 6)
# 2    3    7   0.30  (3, 7)
# 3    4    8   0.40  (4, 8)