Ich habe eine Tabelle in einer Kreuztabelle Format, zB unter:Gibt es eine Möglichkeit, die Melt-Funktion in Python für mehrere Spalten zu verwenden?
State Item # x1 x2 x3 y1 y2 y3 z1 z2 z3
CA 1 6 4 3 7 5 3 11 5 1
CA 2 7 3 1 15 10 5 4 2 1
FL 3 3 2 1 5 3 2 13 7 2
FL 4 9 4 2 16 14 12 14 5 4
Ich versuche, die Schmelze Funktion zu verwenden, um die Daten in folgendem Format zu setzen:
State Item # x xvalue y yvalue z zvalue
CA 1 x1 6 y1 7 z1 11
CA 1 x2 4 y2 5 z2 5
CA 1 x3 3 y3 3 z3 1
CA 2 x1 7 y1 15 z1 4
CA 2 x2 3 y2 10 z2 2
CA 2 x3 1 y3 5 z3 1
Ich weiß, wie man die Schmelzfunktion für nur einen der Werte verwendet, sagen wir x. Aber ich weiß auch nicht, wie ich das mit y und z machen soll. Siehe meinen Code unten, um es nur für x zu tun. Gibt es eine Möglichkeit das ich das auch für y und z einstellen kann? Oder sollte ich versuchen, separate Schmelzfunktionen für x, y und z zu haben und sie dann irgendwie zu kombinieren?
df_m = pd.melt(df, id_vars=['State', 'Item #'],
value_vars=['x1','x2','x3'],
var_name='x', value_name='xvalue')
Ich denke, Sie müssen mehrere Schmelzen tun. – BrenBarn