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]
Bu veri çerçevesindeki tüm simetrik çiftlerin son kopyasını hızlı bir şekilde nasıl bulabilirim, belirleyebilir ve kaldırabilirim?
Simetrik çiftin bir örneği '(0, 1)' ifadesinin '(1, 0)' değerine eşit olmasıdır. İkincisi çıkarılmalıdır.
Algoritma hızlı olmalıdır, bu nedenle numpy kullanılması önerilir. Python nesnesine dönüştürmeye izin verilmiyor.
df.drop_duplicates()
symmetric pairs
?