„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie füge ich effizient mehrere Spalten gleichzeitig zu einem Pandas-DataFrame hinzu?

Wie füge ich effizient mehrere Spalten gleichzeitig zu einem Pandas-DataFrame hinzu?

Veröffentlicht am 08.11.2024
Durchsuche:458

How to Efficiently Add Multiple Columns to a Pandas DataFrame Simultaneously?

Mehrere Spalten gleichzeitig zu einem Pandas-DataFrame hinzufügen

Bei der Pandas-Datenbearbeitung kann das effiziente Hinzufügen mehrerer neuer Spalten zu einem DataFrame eine Aufgabe sein, die eine elegante Lösung erfordert. Obwohl der intuitive Ansatz, die Spaltenlistensyntax mit einem Gleichheitszeichen zu verwenden, einfach erscheinen mag, kann er zu unerwarteten Ergebnissen führen.

Die Herausforderung

Wie im bereitgestellten Beispiel dargestellt, die folgende Syntax Die neuen Spalten können nicht wie beabsichtigt erstellt werden:

df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]

Dies liegt daran, dass Pandas erfordert, dass die rechte Seite der Zuweisung ein DataFrame ist, wenn die Spaltenlistensyntax verwendet wird. Skalare Werte oder Listen sind mit diesem Ansatz nicht kompatibel.

Lösungen

Mehrere alternative Methoden bieten praktikable Lösungen für das gleichzeitige Hinzufügen mehrerer Spalten:

Methode 1: Individuelle Zuweisungen Mit Iterator Unpacking

df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3

Methode 2: Einzelne Zeile entsprechend dem Index erweitern

df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)

Methode 3: Kombinieren mit temporärem DataFrame unter Verwendung von pd.concat

df = pd.concat(
    [
        df,
        pd.DataFrame(
            [[np.nan, 'dogs', 3]], 
            index=df.index, 
            columns=['column_new_1', 'column_new_2', 'column_new_3']
        )
    ], axis=1
)

Methode 4: Kombinieren mit temporärem DataFrame unter Verwendung von .join

df = df.join(pd.DataFrame(
    [[np.nan, 'dogs', 3]], 
    index=df.index, 
    columns=['column_new_1', 'column_new_2', 'column_new_3']
))

Methode 5: Wörterbuch für temporären DataFrame verwenden

df = df.join(pd.DataFrame(
    {
        'column_new_1': np.nan,
        'column_new_2': 'dogs',
        'column_new_3': 3
    }, index=df.index
))

Methode 6: Verwenden Sie .assign() mit mehreren Spaltenargumenten

df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)

Methode 7: Spalten erstellen und dann Werte zuweisen

new_cols = ['column_new_1', 'column_new_2', 'column_new_3']
new_vals = [np.nan, 'dogs', 3]
df = df.reindex(columns=df.columns.tolist()   new_cols)    # add empty cols
df[new_cols] = new_vals        # multi-column assignment works for existing cols

Methode 8: Mehrere sequentielle Zuweisungen

df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3

Die Auswahl der am besten geeigneten Methode hängt von Faktoren wie der Größe des DataFrame, der Anzahl der hinzuzufügenden neuen Spalten und den Leistungsanforderungen der Aufgabe ab. Dennoch bieten diese Techniken Pandas-Benutzern vielfältige Optionen zum effizienten Hinzufügen mehrerer Spalten zu ihren DataFrames.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3