Gleichzeitiges Zuweisen mehrerer Spalten zu Pandas-Datenrahmen
Im Zusammenhang mit der Arbeit mit Datenrahmen in Pandas stellt sich die Frage, wie mehrere effizient hinzugefügt werden können Spalten in einer Aufgabe.
Anfänglicher Versuch und seine Mängel
Viele Benutzer versuchen natürlich die folgende Syntax, um diese Aufgabe zu erfüllen:
df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]
Allerdings Dieser Ansatz schlägt fehl, da Pandas erfordert, dass die rechte Seite ein DataFrame ist, wenn neue Spalten mit der Spaltenlistensyntax erstellt werden.
Alternative Ansätze
Mehrere praktikable Lösungen existieren, um das gewünschte Ergebnis zu erzielen. Hier sind einige der empfohlenen Ansätze:
1. Einspaltige Zuweisungen mit Iterator-Entpacken
df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3
2. DataFrame-Erweiterung mit Pandas.DataFrame()
df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)
3. Verkettung mit Pandas.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 )
4. Treten Sie mit Pandas.join bei
df = df.join(pd.DataFrame( [[np.nan, 'dogs', 3]], index=df.index, columns=['column_new_1', 'column_new_2', 'column_new_3'] ))
5. Wörterbucherweiterung mit Pandas.join
df = df.join(pd.DataFrame( { 'column_new_1': np.nan, 'column_new_2': 'dogs', 'column_new_3': 3 }, index=df.index ))
6. Mehrere Spaltenargumente mit .assign()
df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)
7. Spaltenerstellung und -zuweisung
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
8. Separate Aufgaben
df['column_new_1'] = np.nan df['column_new_2'] = 'dogs' df['column_new_3'] = 3
Die Wahl des Ansatzes hängt von den spezifischen Anforderungen des Benutzers ab. Aus Gründen der Einfachheit und Effizienz sind separate Aufgaben häufig die bevorzugte Lösung. Wenn jedoch das Hinzufügen mehrerer Spalten mit demselben Typ oder Wert gewünscht wird, bieten die anderen Ansätze Flexibilität und Prägnanz.
Das obige ist der detaillierte Inhalt vonWie füge ich effizient mehrere Spalten zu einem Pandas DataFrame hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!