Mon Googlefu m'a échoué!Pandas DataFrame avec des niveaux de nœuds de graphes et des arêtes à la matrice carrée
I ont une Pandas DataFrame
de la forme:
Level 1 Level 2 Level 3 Level 4
-------------------------------------
A B C NaN
A B D E
A B D F
G H NaN NaN
G I J K
Elle contient essentiellement des noeuds d'un graphe avec les niveaux représentant un bord de sortie à partir d'un niveau d'ordre inférieur à un niveau d'ordre supérieur. Je veux convertir la trame de données/créer une nouvelle trame de données de la forme:
A B C D E F G H I J K
---------------------------------------------
A | 0 1 0 0 0 0 0 0 0 0 0
B | 0 0 1 1 0 0 0 0 0 0 0
C | 0 0 0 0 0 0 0 0 0 0 0
D | 0 0 0 0 1 1 0 0 0 0 0
E | 0 0 0 0 0 0 0 0 0 0 0
F | 0 0 0 0 0 0 0 0 0 0 0
G | 0 0 0 0 0 0 0 1 1 0 0
H | 0 0 0 0 0 0 0 0 0 0 0
I | 0 0 0 0 0 0 0 0 0 1 0
J | 0 0 0 0 0 0 0 0 0 0 1
K | 0 0 0 0 0 0 0 0 0 0 0
Une cellule contenant 1
représente un bord sortant de la rangée correspondante de la colonne correspondante. Existe-t-il un moyen Pythonien d'y parvenir sans boucles ni conditions dans les Pandas?