Heim >Backend-Entwicklung >Python-Tutorial >Wie legt man Werte in Pandas DataFrame-Zellen effizient nach Index fest?
Werte in Pandas DataFrame-Zellen nach Index festlegen
Um einen bestimmten Zellenwert in einem Pandas DataFrame basierend auf seinem Index festzulegen, beachten Sie Folgendes :
Verwenden von df.set_value(index, Column, value)
df.set_value() ermöglicht es Ihnen, einer Zelle mithilfe ihres Index direkt einen Wert zuzuweisen. Beachten Sie jedoch, dass diese Methode bald nicht mehr unterstützt wird.
# Correct way: df.set_value('C', 'x', 10)
Verwendung von df.at[index, Column] = value
Die bevorzugte Alternative ist die Verwendung von df .at[], um Zellwerte direkt zu aktualisieren. Diese Methode ist effizienter und bietet eine präzisere Syntax.
df.at['C', 'x'] = 10
Verkettende Indizierung verwenden
Achtung: Auch wenn es intuitiv erscheinen mag Verwenden Sie die verkettete Indizierung, um Zellwerte festzulegen (z. B. df.xs('C')['x'] = 10), nur diese Methode Ändert eine Kopie der Zeile oder Spalte. Um den ursprünglichen DataFrame direkt zu ändern, verwenden Sie entweder df.set_value() oder df.at[].
Warum die verkettete Indizierung fehlschlägt
Verkettete Indizierung (z. B. df. xs('C')['x'] = 10) erstellt ein neues DataFrame-Objekt mit einem Verweis auf die Originaldaten. An dieses neue Objekt vorgenommene Zuweisungen werden nicht an den ursprünglichen DataFrame weitergegeben.
Leistung
Benchmarks zeigen, dass df.set_value() die schnellste Option ist, gefolgt von df' x' = 10 und df.at['C', 'x'] = 10. Leistungsunterschiede können jedoch je nach DataFrame-Größe und variieren Komplexität.
Das obige ist der detaillierte Inhalt vonWie legt man Werte in Pandas DataFrame-Zellen effizient nach Index fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!