Pandas - Spaltenwerte in neue Spalten stapeln

Ich habe einen großen Datenrahmen und speichere viele redundante Werte, die den Umgang mit meinen Daten erschweren. Ich habe einen Datenrahmen der Form:

import pandas as pd

df = pd.DataFrame([["a","g","n1","y1"], ["a","g","n2","y2"], ["b","h","n1","y3"], ["b","h","n2","y4"]], columns=["meta1", "meta2", "name", "data"])

>>> df

  meta1 meta2 name data
    a     g   n1   y1
    a     g   n2   y2
    b     h   n1   y3
    b     h   n2   y4

wo habe ich die Namen der neuen Spalten, die ich in @ möchname und die entsprechenden Daten indata.

Ich möchte einen Datenrahmen der Form erzeugen:

df = pd.DataFrame([["a","g","y1","y2"], ["b","h","y3","y4"]], columns=["meta1", "meta2", "n1", "n2"])

>>> df

meta1 meta2  n1  n2
  a     g  y1  y2
  b     h  y3  y4

Die Spalten mit dem Namenmeta sind ungefähr 15+ andere Spalten, die die meisten Daten enthalten, und ich denke nicht, dass sie besonders gut für die Indizierung geeignet sind. Die Idee ist, dass ich viele wiederholte / redundante Daten in @ gespeichert habmeta im Moment und ich möchte den präsentierten kompakteren Datenrahmen produzieren.

Ich habe einige ähnliche Qs gefunden, kann aber nicht genau bestimmen, welche Operationen ich ausführen muss: Pivot, Re-Index, Stack oder Unstack, etc.

PS - Die ursprünglichen Indexwerte sind für meine Zwecke unwichtig.

Jede Hilfe wäre sehr dankbar.

Frage Ich denke, ist im Zusammenhang mit:

Ich denke, die folgenden Fragen beziehen sich auf das, was ich versuche, aber ich kann nicht sehen, wie ich sie anwenden soll, da ich keine weiteren Indizes erstellen möchte.

Python Pandas - Wie wird eine Pivot-Tabelle mit zwei Werten entstapelt, wobei jeder Wert zu einer neuen Spalte wird?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage