Find symmetric pairs quickly in numpy

后端 未结 6 1825
抹茶落季
抹茶落季 2020-12-03 17:44
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         


        
6条回答
  •  孤城傲影
    2020-12-03 18:06

    I will do

    df[~pd.DataFrame(np.sort(df.values,1)).duplicated().values]
    

    From pandas and numpy tri

    s=pd.crosstab(df.c1,df.c2)
    s=s.mask(np.triu(np.ones(s.shape)).astype(np.bool) & s==0).stack().reset_index()
    

提交回复
热议问题