Comparación de filas de marcos de datos de pandas (las filas tienen algunos valores superpuestos)

Tengo un marco de datos de pandas con 21 columnas. Me estoy enfocando en un subconjunto de filas que tienen exactamente los mismos valores de datos de columna, excepto por 6 que son únicos para cada fila. No sé qué encabezados de columna corresponden a priori estos 6 valores.

Intenté convertir cada fila en objetos de índice y realicé la operación de configuración en dos filas. Ex.

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

que devuelve un objeto de índice que contiene valores únicos a row1. Entonces puedo deducir manualmente qué columnas tienen valores únicos.

¿Cómo puedo capturar mediante programación los encabezados de columna a los que corresponden estos valores en el marco de datos inicial? O, ¿hay una manera de comparar dos o múltiples filas de marcos de datos y extraer los 6 valores de columna diferentes de cada fila, así como los encabezados correspondientes? Idealmente, sería bueno generar un nuevo marco de datos con las columnas únicas.

En particular, ¿hay una manera de hacer esto usando operaciones de conjunto?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta