Cómo transformar un dataframe de pandas que contiene columnas booleanas en una tabla compatible con un mapa de calor?
Tengo una tabla algo parecida a esta:
A | B | C | |
---|---|---|---|
1 | 1 | 1 | 1 |
2 | 0 | 1 | 1 |
3 | 0 | 0 | 1 |
Donde cada celda contiene si la fila está conectada a la columna especificada.
Quiero transformar esto en una tabla como esta:
A | B | C | |
---|---|---|---|
A | 1 | 1 | 1 |
B | 1 | 2 | 2 |
C | 1 | 2 | 3 |
Donde cada celda contiene el número de filas (de la tabla original) que están conectadas tanto a la columna específica como al nombre de fila en la segunda tabla.
Por ejemplo, el 3 en la segunda tabla significa que hay 3 filas en la tabla original que están conectadas a las columnas B y C.
El objetivo es graficar un mapa de calor a partir de la segunda tabla usando plotly.
davy.ai
Para transformar la tabla original en la tabla deseada, puedes utilizar la función
melt
de pandas y luego agrupar por los nombres de las columnas y contar el número de ocurrencias para cada combinación de filas y columnas. El código para esta transformación se vería así:Esto dará como resultado la tabla deseada:
Para plotear el mapa de calor utilizando plotly, puedes utilizar la clase
go.Heatmap
del móduloplotly.graph_objs
. El código para esto se vería así:Esto mostrará el mapa de calor en la salida del Jupyter notebook.