Heim >Backend-Entwicklung >Python-Tutorial >Was verursacht den Fehler „ValueError: Kann nicht von einer doppelten Achse neu indiziert werden' in der Pandas-Bibliothek von Python und wie kann er behoben werden?
Verstehen von „ValueError: Kann nicht von einer doppelten Achse neu indiziert werden“
Der Fehler „ValueError: Kann von einer doppelten Achse nicht neu indiziert werden“ in Pythons Pandas Bibliothek bezeichnet einen Indizierungsvorgang, der auf doppelte Werte auf einer Achse stößt. Um dieses Problem anzugehen, verstehen Sie zunächst das Konzept der Achse in Pandas:
Fehlerursache
Dieser Fehler tritt auf, wenn Sie versuchen, einen Wert festzulegen oder eine neue Zeile zu erstellen /column (Achse) mit einem Namen, der bereits im aktuellen Index/in den aktuellen Spalten des DataFrame vorhanden ist. Pandas interpretiert dies als einen Neuindizierungsvorgang, der kompatible Duplikate entlang der Zielachse erfordert. Wenn jedoch solche Duplikate vorhanden sind, schlägt der Vorgang fehl und löst den Fehler „ValueError: Neuindizierung von einer doppelten Achse kann nicht möglich“ aus.
Beispiel
Betrachten Sie den folgenden DataFrame:
<code class="python">import pandas as pd data = { "Name": ["Alice", "Bob", "Alice"], "Age": [22, 25, 28] } df = pd.DataFrame(data) # Attempting to set a row with a duplicate name (Alice) df.loc["Alice"] = [30, 32]</code>
Diese Aktion führt zum Fehler „ValueError: Neuindizierung von einer doppelten Achse nicht möglich“, da im DataFrame bereits eine Zeile mit dem Index „Alice“ vorhanden ist.
Auflösung der Fehler
Um diesen Fehler zu beheben, stellen Sie sicher, dass die Namen, die für die Indizierung/Zuweisung neuer Zeilen/Spalten verwendet werden, nicht mit vorhandenen Namen in Konflikt stehen. Sie können mit den Methoden df.index.is_unique bzw. df.columns.is_unique nach doppelten Indizes oder Spaltennamen suchen.
Alternativer Ansatz
Bei Bedarf Um einen vorhandenen Wert für einen Index zu überschreiben, der Duplikate enthält, können Sie die at-Methode verwenden:
<code class="python">df.at["Alice", "Age"] = 33</code>
Dieser Ansatz aktualisiert den Wert der Spalte „Alter“ für die erste Zeile mit dem Index „Alice“, ohne ihn zu erhöhen ein Fehler.
Das obige ist der detaillierte Inhalt vonWas verursacht den Fehler „ValueError: Kann nicht von einer doppelten Achse neu indiziert werden' in der Pandas-Bibliothek von Python und wie kann er behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!