„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich einem Pandas -Datenframe effizient eine neue Spalte hinzufügen?

Wie kann ich einem Pandas -Datenframe effizient eine neue Spalte hinzufügen?

Gepostet am 2025-03-04
Durchsuche:816

How Can I Efficiently Add a New Column to a Pandas DataFrame?

Hinzufügen einer neuen Spalte zu einem vorhandenen DataFrame

Bei der Arbeit mit Pandas -Datenfreams müssen vorhandenen Datenfrüchten häufig neue Spalten hinzugefügt. Es gibt mehrere Ansätze, um dies zu erreichen, jeweils ihre eigenen Vorteile und Nachteile.

1. Verwenden von Zuweisung (empfohlen für Pandas 0.17 und höher):

import pandas as pd
import numpy as np

# Generate a sample DataFrame
df1 = pd.DataFrame({
    'a': [0.671399, 0.446172, 0.614758],
    'b': [0.101208, -0.243316, 0.075793],
    'c': [-0.181532, 0.051767, -0.451460],
    'd': [0.241273, 1.577318, -0.012493]
})

# Add a new column 'e' with random values
sLength = len(df1['a'])
df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

2. Verwenden Sie loc [row_index, col_indexer] = value:

# Add a new column 'f' using loc
df1.loc[:, 'f'] = pd.Series(np.random.randn(sLength), index=df1.index)

3. Verwenden Sie df [new_column_name] = pd.series (Werte, index = df.index):

# Add a new column 'g' using the old method
df1['g'] = pd.Series(np.random.randn(sLength), index=df1.index)

Denken Sie daran, dass die letztere Methode die Einstellung mit der Einstellung in neuere Versionen von Pandas auslösen kann. Die Verwendung von Zuweisungen oder LOC wird im Allgemeinen für Effizienz und Klarheit empfohlen.

Neuestes Tutorial Mehr>

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