Heim  >  Artikel  >  Backend-Entwicklung  >  Wie trenne ich durch Kommas getrennte Werte in mehrere Zeilen in einem Pandas-DataFrame?

Wie trenne ich durch Kommas getrennte Werte in mehrere Zeilen in einem Pandas-DataFrame?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 19:32:02493Durchsuche

How to Separate Comma-Separated Values into Multiple Rows in a Pandas DataFrame?

Zelle im Pandas DataFrame in mehrere Zeilen aufteilen

In diesem Szenario haben Sie einen DataFrame, der Bestelldaten enthält, wobei für jede Bestellung mehrere Pakete durch Kommas getrennt gespeichert sind Zeichenfolgen in den Spalten package und package_code. Das Ziel besteht darin, diese Pakete aufzuteilen und für jedes Paket eine neue Zeile zu erstellen, die die entsprechenden Bestelldetails enthält.

Angenommen, alle teilbaren Spalten enthalten die gleiche Anzahl an durch Kommas getrennten Elementen, können Sie dies mit den folgenden Schritten erreichen die gewünschte Ausgabe:

<code class="python">import pandas as pd

# Create the sample DataFrame
df = pd.DataFrame({"order_id": [1, 3, 7], "order_date": ["20/5/2018", "22/5/2018", "23/5/2018"], "package": ["p1,p2,p3", "p4", "p5,p6"], "package_code": ["#111,#222,#333", "#444", "#555,#666"]})

# Use pandas functions to split and explode the columns
result_df = (df.set_index(['order_id', 'order_date'])
              .apply(lambda x: x.str.split(',').explode())
              .reset_index())

# Display the output DataFrame
print(result_df)</code>

Dieser Code legt zunächst die nicht zu berührenden Spalten als Index fest. Anschließend wird jede Spalte durchlaufen, die Werte durch Kommas getrennt und in eigene Zeilen aufgeteilt. Abschließend wird der Index zurückgesetzt, um das gewünschte Format zu erhalten.

Der Ausgabe-DataFrame verfügt über eine separate Zeile für jedes Paket, einschließlich seiner Bestelldetails.

Das obige ist der detaillierte Inhalt vonWie trenne ich durch Kommas getrennte Werte in mehrere Zeilen in einem Pandas-DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn