Heim > Backend-Entwicklung > Python-Tutorial > 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
Freigeben: 2024-10-25 09:54:02
Original
480 Leute haben es durchsucht

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]
Nach dem Login kopieren

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
Nach dem Login kopieren

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)
Nach dem Login kopieren

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
)
Nach dem Login kopieren

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']
))
Nach dem Login kopieren

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
))
Nach dem Login kopieren

6. Mehrere Spaltenargumente mit .assign()

df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)
Nach dem Login kopieren

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
Nach dem Login kopieren

8. Separate Aufgaben

df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage