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.
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.
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.
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