Понимание ошибки: «ValueError: невозможно переиндексировать из повторяющейся оси»
В pandas «ValueError: невозможно переиндексировать из дубликата «ось» встречается при попытке переиндексации или присвоения данных по оси, содержащей повторяющиеся значения. Эта проблема возникает при объединении или назначении данных столбцу/строке, которая имеет повторяющиеся значения индекса.
Применение концепции к примеру
В приведенном примере пользователь пытается установить значение индекса «суммы» в сумму всех столбцов в affinity_matrix DataFrame. Однако возникает ошибка, поскольку в affinity_matrix.columns имеется повторяющееся значение, которое не отображается в данном фрагменте кода.
Это повторяющееся значение создает конфликт при попытке переиндексации или присвоения данных по столбцам. ось. Чтобы решить эту проблему, перед выполнением таких операций необходимо убедиться, что значения индекса в DataFrame уникальны.
Тестирование на упрощенном примере
Давайте воспользуемся упрощенным примером пример для дальнейшей иллюстрации ошибки:
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
Ошибка возникает, поскольку DataFrame "df" уже имеет значение индекса "sums" в строках и пытается создать новое значение индекса с тем же именем приводит к дублированию оси.
Вывод
Ошибка «ValueError: невозможно переиндексировать из повторяющейся оси» служит напоминанием о необходимости обеспечения уникальности. значений индекса в DataFrame. Невыполнение этого требования может привести к проблемам при выполнении операций по определенным осям, таких как переиндексация или присвоение данных.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3