Hinzufügen mehrerer Spalten zu Pandas-DataFrames in einer einzigen Zuweisung
In Pandas kann das gleichzeitige Hinzufügen mehrerer Spalten auf verschiedene Arten erreicht werden. Ein Ansatz besteht darin, jeder Spalte einzeln Werte zuzuweisen, was jedoch bei mehreren Spalten mühsam sein kann. Eine effizientere Methode besteht darin, die Spalten in einem Schritt hinzuzufügen.
Auf den ersten Blick ist die Zuweisung einer Liste oder eines Arrays zu mehreren neuen Spalten mithilfe der Spaltenlistensyntax (z. B. df[['new1', 'new2 ]] = [Skalar, Skalar]) mag intuitiv erscheinen. Diese Zuweisung funktioniert jedoch nur für vorhandene Spalten.
Um neue Spalten hinzuzufügen und Werte in einem einzigen Vorgang zuzuweisen, können Sie mehrere Ansätze verwenden:
1. Iterator-Entpacken:
<code class="python">df['new1'], df['new2'], df['new3'] = np.nan, 'dogs', 3</code>
Dieser Ansatz weist jeder neuen Spalte iterativ Werte zu.
2. DataFrame-Erweiterung:
<code class="python">df[['new1', 'new2', 'new3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)</code>
Diese Methode erstellt einen DataFrame mit einer einzelnen Zeile, die dem Index des ursprünglichen DataFrame entspricht, und verwendet dann die Concat-Funktion von Pandas, um die neuen Spalten mit dem Original zusammenzuführen.
3. Temporäre DataFrame-Verbindung:
<code class="python">df = pd.concat([df, pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index, columns=['new1', 'new2', 'new3'])], axis=1)</code>
Dieser Ansatz erstellt einen temporären DataFrame mit den neuen Spalten und Werten und verbindet ihn dann mit dem ursprünglichen DataFrame.
4. Wörterbuchzuweisung:
<code class="python">df = df.join(pd.DataFrame({'new1': np.nan, 'new2': 'dogs', 'new3': 3}, index=df.index))</code>
Diese Methode verwendet ein Wörterbuch, um einen temporären DataFrame zu erstellen, der dann mit dem ursprünglichen DataFrame verbunden wird.
5. .assign()-Methode:
<code class="python">df = df.assign(new1=np.nan, new2='dogs', new3=3)</code>
Die .assign()-Methode ermöglicht die gleichzeitige Zuweisung mehrerer Spalten.
6. Spalten erstellen und Werte zuweisen:
<code class="python">new_cols = ['new1', 'new2', 'new3'] new_vals = [np.nan, 'dogs', 3] df = df.reindex(columns=df.columns.tolist() + new_cols) df[new_cols] = new_vals</code>
Diese Technik erstellt leere Spalten und weist Werte separat zu.
Mehrere Einzelzuweisungen:
<code class="python">df['new1'] = np.nan df['new2'] = 'dogs' df['new3'] = 3</code>
Einzelne Zuweisungen sind zwar nicht so effizient wie die anderen Methoden, aber unkompliziert und können für eine kleine Anzahl neuer Spalten verwendet werden.
Die beste Wahl hängt von den spezifischen Anforderungen und Leistungsüberlegungen ab. Für das gleichzeitige Hinzufügen mehrerer Spalten bieten die DataFrame-Erweiterung oder temporäre DataFrame-Join-Ansätze eine präzise und effiziente Lösung.
Das obige ist der detaillierte Inhalt vonWie füge ich in einer einzigen Zuweisung effizient mehrere Spalten zu einem Pandas DataFrame hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!