Comparando linhas do dataframe do pandas (as linhas possuem alguns valores sobrepostos)

Eu tenho um dataframe de pandas com 21 colunas. Estou me concentrando em um subconjunto de linhas que possuem exatamente os mesmos valores de dados da coluna, exceto os 6 que são exclusivos para cada linha. Eu não sei quais títulos de coluna esses 6 valores correspondem a priori.

Eu tentei converter cada linha para objetos de índice e executei a operação de conjunto em duas linhas. Ex.

row1 = pd.Index(sample_data[0])
row2 = pd.Index(sample_data[1])
row1 - row2 

que retorna um objeto Index contendo valores exclusivos para row1. Então, posso deduzir manualmente quais colunas têm valores exclusivos.

Como eu posso pegar programaticamente os títulos das colunas aos quais esses valores correspondem no dataframe inicial? Ou existe uma maneira de comparar duas ou várias linhas de dataframe e extrair os 6 valores de coluna diferentes de cada linha, bem como os títulos correspondentes? Idealmente, seria bom gerar um novo dataframe com as colunas exclusivas.

Em particular, existe uma maneira de fazer isso usando operações definidas?

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion