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]
Làm cách nào để nhanh chóng tìm, xác định và xóa bản sao cuối cùng của tất cả các cặp đối xứng trong khung dữ liệu này?
Một ví dụ về cặp đối xứng là '(0, 1)' bằng '(1, 0)'. Cái sau nên được loại bỏ.
Thuật toán phải nhanh, vì vậy nên sử dụng numpy. Chuyển đổi sang đối tượng python không được phép.
df.drop_duplicates()
symmetric pairs
?