Heim >Backend-Entwicklung >Python-Tutorial >Was verursacht den Pandas-Fehler „ValueError: Kann von einer doppelten Achse nicht neu indiziert werden'?
Verstehen von „ValueError: Neuindizierung von einer doppelten Achse nicht möglich“
In der Pandas-Bibliothek von Python weist diese Fehlermeldung darauf hin, dass ein Vorgang nicht ausgeführt werden kann weil die Datenstruktur doppelte Werte in der Achse enthält, auf die verwiesen wird.
Fehlerursache
Der Fehler tritt insbesondere auf, wenn versucht wird, einen Datenrahmen oder eine Datenreihe durch Zuweisen neu zu indizieren eine neue Zeile oder Spalte mithilfe eines bereits vorhandenen Index. Bei der Neuindizierung werden die Indexbezeichnungen geändert. Wenn doppelte Bezeichnungen vorhanden sind, ist es unmöglich, die Vorgänge eindeutig den entsprechenden Daten zuzuordnen.
Beispielszenario
Zur Veranschaulichung Fehler, ziehen Sie einen Pandas DataFrame mit doppelten Spaltennamen in Betracht. Hier ist ein Python-Snippet, das zeigt, wie dies passieren kann:
<code class="python">import pandas as pd df = pd.DataFrame({ "ID": [1, 2, 3], "Name": ["Alice", "Bob", "Charlie"], "Score": [90, 80, 70], "Age": [25, 26, 27] }) df["Score"] = df["Score"] * 2 df["Age"] = df["Age"] + 1 # Attempt to create a duplicate column df["Score"] = df["Score"] * 1.1</code>
Wenn Sie dieses Snippet ausführen, wird der folgende Fehler auftreten:
ValueError: cannot reindex from a duplicate axis
Dies liegt daran, dass der DataFrame dies bereits getan hat eine Spalte mit dem Namen „Score“ und Sie versuchen, ihr einen neuen Wert mit demselben Namen zuzuweisen. Die doppelte Spalte verhindert, dass Pandas die Spalte erfolgreich neu indiziert.
Lösung
Um diesen Fehler zu beheben, müssen Sie sicherstellen, dass die für die Neuindizierung verwendeten Indexwerte eindeutig sind. Bei der Zuordnung zu vorhandenen Zeilen oder Spalten bedeutet dies, doppelte Beschriftungen zu vermeiden. Wenn die doppelten Werte unbeabsichtigt eingeführt wurden, können Sie den Index mit der Methode .duplicated() überprüfen und die Duplikate entsprechend entfernen.
Das obige ist der detaillierte Inhalt vonWas verursacht den Pandas-Fehler „ValueError: Kann von einer doppelten Achse nicht neu indiziert werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!