2016-08-07 13 views
0

Was ist der eleganteste Weg, dies in einer Zeile mit Pandas zu erreichen?2 Spalten von Werten -> 1 Spalte von Werten + 1 Spalte von Etiketten in Pandas

Ausgangspunkt:

import pandas as pd 
df = pd.DataFrame({'A':[0.2,0.3,0.1,0.45], 'B':[0.5,0.8,0.15,0.55]}) 

i A  B 
0 0.2 0.5 
1 0.3 0.8 
2 0.1 0.15 
3 0.45 0.55 

gewünschten Endpunkt:

i value label 
0 0.2 A 
1 0.3 A 
2 0.1 A 
3 0.45 A 
4 0.5 B 
5 0.8 B 
6 0.15 B 
7 0.55 B 
+0

Im Ausgabe Index 2 sein soll '0.1'? Ist 0,15 ein Fehler? BTW: Was hast du bisher versucht? –

+0

danke für das Erkennen. Ich habe es behoben. – themachinist

Antwort

5
pd.melt(df) 
Out: 
    variable value 
0  A 0.20 
1  A 0.30 
2  A 0.15 
3  A 0.45 
4  B 0.50 
5  B 0.80 
6  B 0.15 
7  B 0.55 
Verwandte Themen