Zelle im Pandas-Datenrahmen in mehrere Zeilen aufteilen
Problem:
Sie haben einen Pandas Datenrahmen mit Bestelldaten, wobei jede Bestellung mehrere Pakete enthält, die als durch Kommas getrennte Zeichenfolgen in den Spalten „Paket“ und „Paketcode“ gespeichert sind. Ihr Ziel ist es, die Paketdaten aufzuteilen und für jedes Paket eine neue Zeile mit den entsprechenden Bestelldetails zu erstellen.
Lösung:
Für Pandas-Versionen >= 0,25:
<code class="python">df.set_index(['order_id', 'order_date']) \ .apply(lambda x: x.str.split(',').explode()) \ .reset_index()</code>
Für Pandas-Versionen <= 0,24:
<code class="python">df.set_index(['order_date', 'order_id']) \ .stack() \ .str.split(',', expand=True) \ .stack() \ .unstack(-2) \ .reset_index(-1, drop=True) \ .reset_index()
Erklärung:
1. Index festlegen: Legen Sie die Spalten, die intakt bleiben sollen („order_id“ und „order_date“), als Index des Datenrahmens fest.
2. Teilen und stapeln:
3. Index entstapeln und zurücksetzen:
Das obige ist der detaillierte Inhalt vonWie teile ich eine Zelle in einem Pandas-Datenrahmen basierend auf durch Kommas getrennten Werten in mehrere Zeilen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!