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]
Bagaimana cara cepat menemukan, mengidentifikasi, dan menghapus duplikat terakhir dari semua pasangan simetris dalam bingkai data ini?
Contoh pasangan simetris adalah '(0, 1)' sama dengan '(1, 0)'. Yang terakhir harus dihapus.
Algoritma harus cepat, jadi disarankan untuk menggunakan numpy. Konversi ke objek python tidak diizinkan.
df.drop_duplicates()
symmetric pairs
?