Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich effizient mehrere Spalten zu einem Pandas DataFrame hinzu?

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

DDD
DDDOriginal
2024-10-25 09:54:02384Durchsuche

How to Efficiently Add Multiple Columns to a Pandas DataFrame?

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!

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