ein Quadrat Pandas Datenrahmen der folgenden Form gegeben:Melt die obere Dreiecksmatrix eines Pandas Dataframe
a b c
a 1 .5 .3
b .5 1 .4
c .3 .4 1
Wie kann ich melt
nur das obere Dreieck
Row Column Value
a a 1
a b .5
a c .3
b b 1
b c .4
c c 1
#Note the combination a,b is only listed once. There is no b,a listing
Ich bin mehr zu bekommen Interesse an einer idiomatischen Pandas-Lösung, wäre ein benutzerdefinierter Indexer einfach genug, um von Hand zu schreiben ... Vielen Dank im Voraus für Ihre Berücksichtigung und Antwort.
Ich bin die einzige Sache, auf die ich achten muss, wenn Sie 'NaN' Werte haben, die Sie im oberen Dreieck beibehalten möchten (' stack' wird alle fallen lassen). Möglicherweise müssen Sie den Multiindex explizit erstellen und dann neu indizieren, wenn dies der Fall ist. –