„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 > So behandeln Sie den Fehler „ValueError: Neuindizierung von einer doppelten Achse ist nicht möglich“ in Pandas

So behandeln Sie den Fehler „ValueError: Neuindizierung von einer doppelten Achse ist nicht möglich“ in Pandas

Veröffentlicht am 05.11.2024
Durchsuche:774

How to Handle the \

Den Fehler verstehen: „ValueError: kann nicht von einer doppelten Achse neu indiziert werden“

In Pandas kann der „ValueError: kann von einem Duplikat nicht neu indiziert werden.“ „Achse“ tritt auf, wenn versucht wird, Daten entlang einer Achse neu zu indizieren oder zuzuweisen, die doppelte Werte enthält. Dieses Problem tritt auf, wenn Daten einer Spalte/Zeile mit doppelten Indexwerten verknüpft oder zugewiesen werden.

Anwenden des Konzepts auf das Beispiel

Im bereitgestellten Beispiel der Benutzer versucht, den Indexwert „sums“ auf die Summe aller Spalten im affinity_matrix DataFrame festzulegen. Der Fehler wird jedoch ausgelöst, weil in affinity_matrix.columns ein doppelter Wert vorhanden ist, der im angegebenen Codeausschnitt nicht angezeigt wird.

Dieser doppelte Wert führt zu einem Konflikt, wenn versucht wird, Daten entlang der Spalten neu zu indizieren oder zuzuweisen Achse. Um dieses Problem zu lösen, muss sichergestellt werden, dass die Indexwerte im DataFrame eindeutig sind, bevor solche Vorgänge ausgeführt werden.

Testen mit einem vereinfachten Beispiel

Lassen Sie uns ein vereinfachtes Beispiel verwenden Beispiel zur weiteren Veranschaulichung des Fehlers:

import pandas as pd
import numpy as np

a = np.arange(35).reshape(5, 7)
df = pd.DataFrame(a, ['x', 'y', 'u', 'z', 'w'], range(10, 17))
df.loc['sums'] = df.sum(axis=0)  # Assume that 'sums' is already an index value

# This would result in the ValueError, as 'sums' is a duplicate index value

Der Fehler tritt auf, weil der DataFrame „df“ bereits einen Indexwert „sums“ in den Zeilen hat und versucht, einen neuen zu erstellen Ein Indexwert mit demselben Namen führt zu einer doppelten Achse.

Schlussfolgerung

Der Fehler „ValueError: Neuindizierung von einer doppelten Achse nicht möglich“ dient als Erinnerung, um die Eindeutigkeit sicherzustellen von Indexwerten in einem DataFrame. Andernfalls kann es zu Problemen bei der Ausführung von Vorgängen entlang bestimmter Achsen kommen, wie z. B. der Neuindizierung oder der Zuweisung von Daten.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729671421 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
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