from itertools import product
import pandas as pd
df = pd.DataFrame.from_records(product(range(10), range(10)))
df = df.sample(90)
df.columns = "c1 c2".split()
df = df.sort_values(df.columns.tolist()).reset_index(drop=True)
# c1 c2
# 0 0 0
# 1 0 1
# 2 0 2
# 3 0 3
# 4 0 4
# .. .. ..
# 85 9 4
# 86 9 5
# 87 9 7
# 88 9 8
# 89 9 9
#
# [90 rows x 2 columns]
이 데이터 프레임에서 모든 대칭 쌍의 마지막 복제본을 빠르게 찾고 식별하고 제거하려면 어떻게합니까?
대칭 쌍의 예는 '(0, 1)'이 '(1, 0)'과 같습니다. 후자는 제거해야합니다.
알고리즘은 빠르므로 numpy를 사용하는 것이 좋습니다. 파이썬 객체로의 변환은 허용되지 않습니다.
df.drop_duplicates()
symmetric pairs
시겠습니까?