Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich durch Kommas getrennte Zeichenfolgen in einem Pandas-DataFrame in separate Zeilen aufteilen?

Wie kann ich durch Kommas getrennte Zeichenfolgen in einem Pandas-DataFrame in separate Zeilen aufteilen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-01 02:21:08340Durchsuche

How Can I Split Comma-Separated Strings in a Pandas DataFrame into Separate Rows?

Komma-getrennte Pandas-Datenrahmenzeichenfolgen in separate Zeilen aufteilen

In Pandas-Datenrahmen kommt es häufig vor, dass eine oder mehrere Spalten Komma- getrennte Werte (CSV), die in einzelne Zeilen aufgeteilt werden müssen. Um dies zu erreichen, können mehrere Ansätze verwendet werden:

Verwendung von Series.explode() oder DataFrame.explode():

Diese Methode ist in Pandas 0.25.0 verfügbar und höher und ist speziell für explodierende listenartige Spalten konzipiert.

df.explode('column_name')

Verwendung einer vektorisierten Funktion:

Für Situationen mit mehreren normalen und mehreren Listenspalten kann eine vektorisierte Funktion eine vielseitigere Lösung bieten.

def explode(df, lst_cols, fill_value='', preserve_index=False):
    # ... (implementation details)

CSV-Zeichenfolgen in Listen konvertieren:

Wenn das Ziel ausschließlich darin besteht, CSV-Strings in Listen umzuwandeln, kann dies durch Aufteilen der Strings mit erreicht werden str.split().

df['var1'] = df['var1'].str.split(',')

Benutzerdefinierter vektorisierter Ansatz:

Dieser Ansatz kann mehrere Spalten verarbeiten, einschließlich normaler und Listenspalten.

exploded_df = pd.DataFrame({
    col: np.repeat(x[col].values, x[lst_col].str.len())
    for col in x.columns.difference([lst_col])
}).assign(**{lst_col: np.concatenate(x[lst_col].values)})[x.columns.tolist()]

Legacy-Lösung:

Eine frühere Methode beinhaltet die Verwendung von .set_index(), .str.split(), .stack() und .reset_index(), um die CSV-Strings aufzuteilen und in einzelne Zeilen zu stapeln.

Diese Ansätze bieten verschiedene Optionen zum Aufteilen von durch Kommas getrennten Strings in Pandas-Datenrahmen. Berücksichtigung spezifischer Anforderungen und Leistungsüberlegungen.

Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Zeichenfolgen in einem Pandas-DataFrame in separate Zeilen aufteilen?. 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