Pandas lange zu Breite umzuformen, die von zwei Variablen
Habe ich die Daten im long-format und versuche, neu zu gestalten, zu breit, aber es scheint nicht, eine einfache Möglichkeit, dies zu tun mit Schmelzen/stack/unstack:
Salesman Height product price
Knut 6 bat 5
Knut 6 ball 1
Knut 6 wand 3
Steve 5 pen 2
Wird:
Salesman Height product_1 price_1 product_2 price_2 product_3 price_3
Knut 6 bat 5 ball 1 wand 3
Steve 5 pen 2 NA NA NA NA
Denke ich, dass Stata kann so etwas mit der reshape Befehl.
Haben Sie wirklich Sorge, dass die zwei schwenkbaren Variablen verschachtelt werden:
Ja, dass spielt keine Rolle.
product_1 price_1 product_2 price_2 product_3 price_3
? Kann Sie nur product_1 product_2 ... price_1 price_2 ...
?Ja, dass spielt keine Rolle.
InformationsquelleAutor Luke | 2014-04-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer einfachen pivot ausreichend sein für Ihre Bedürfnisse, aber dies ist, was ich Tat, um zu reproduzieren Ihre gewünschte Ausgabe:
Nur das hinzufügen einer in group counter/index erhalten Sie auf dem besten Weg dorthin, aber die Spaltenbeschriftungen werden nicht wie gewünscht:
Näher an Ihre gewünschte Ausgabe habe ich noch folgende:
Bearbeiten: wenn Sie möchten, zu verallgemeinern das Verfahren auf weitere Variablen, die ich denke, Sie könnte etwas tun, wie die folgenden (obwohl es vielleicht nicht effizient genug):
Du kannst, aber ich denke, Sie brauchen auch eine innerhalb der Gruppe counter", um die Umgestaltung in stata, um Ihre gewünschte Ausgabe:
Wenn Sie hinzufügen
idx
dann kann man Umformen instata
:Vereinbart ... diese Art der Neugestaltung ist eines der nützlichsten Werkzeuge in stata.
Ja, das ist im Grunde das was ich am Ende tun, obwohl Sie auch zu trennen die Spalten ändern sich nicht, wie Höhe, drop dupliziert und dann concat später.
InformationsquelleAutor Karl D.
Etwas alt aber ich poste dieses für andere Menschen.
Was Sie wollen, kann erreicht werden, aber sollten Sie wahrscheinlich nicht wollen, dass es 😉
Pandas unterstützt hierarchische Indizes für beide Zeilen und Spalten.
In Python 2.7.x ...
Produziert wahrscheinlich mehr praktische Darstellung als das, was Sie waren auf der Suche für
Den Vorteil der Verwendung von set_index und entstapeln vs eine Funktion als Drehpunkt, können Sie brechen die Vorgänge unten in klare kleine Schritte, das vereinfacht das Debuggen.
Warum sind Sie immer noch mit Python 2.7? Wie ist es in Python 3?
Für Python ist3, Sie tun
from io import StringIO
und verwenden print als Funktion und alles ist gut. Die grundlegende Idee, den index und entstapeln funktioniert identisch.InformationsquelleAutor Gecko
pg. 192 Python for Data Analysis
InformationsquelleAutor chucklukowski
Hier eine andere Lösung mehr konkretisiert, entnommen Chris Albon Website.
Erstellen "lange" dataframe
Eine "große" Daten
InformationsquelleAutor Charles Clayton
Umgestaltung docs sind hier
Du suchst
pd.wide_to_long()
(das ist die direkte analoge des stata-Befehl)hmm, könnte eine pivot dann
InformationsquelleAutor Jeff