ошибка при изменении цвета фона в кадре данных

#python #pandas

Вопрос:

У меня возникли проблемы с изменением цвета фона в кадре данных, следуя тому, что описано здесь: https://newbedev.com/how-to-use-python-pandas-stylers-for-coloring-an-entire-row-based-on-a-given-column

Мой подход: я создаю индекс 0 и 1, чтобы получить нужный мне цвет, затем я устанавливаю этот индекс в новый фрейм данных и применяю функцию раскраски

 color_index = []
for x in range(len(sql_query.cp)):
    if cod_port.index(sql_query.cp[x]) % 2 == 0:
        color_index.append(0)
    else:
        color_index.append(1)

sql_query['Index'] = color_index
table = sql_query.set_index('Index')

def highlight(df):
    if df.index == 0:
        return ['background-color: white']*9
    else:
        return ['background-color: grey']*9

table.style.apply(highlight,axis=1)
 

Я получаю это сообщение об ошибке:

 ValueError: style is not supported for non-unique indices.
 

образец таблицы:
стол

Я этого не понимаю, учитывая, что в таблице есть индекс или 0, или 1 для любой из ее строк. Я также попробовал использовать столбец 0 и 1 (вместо использования индекса), но он выдает то же сообщение об ошибке.

Не смог найти никакого другого полезного решения здесь, в стеке, или где-либо еще.

Комментарии:

1. Образец фрейма данных был бы полезен.

2. @HenryEcker Я отредактировал вопрос с образцом таблицы

3. Чтобы сгенерировать эту ошибку, панды выполняют проверку: df.index.is_unique и df.columns.is_unique . Если это False так, вы получите сообщение об ошибке. Попробуйте оценить их, прежде чем звонить df.style . Вы можете использовать df.index.duplicated его для поиска виновных: данное сообщение об ошибке кажется мне довольно ясным.

4. Я согласен, что сообщение об ошибке кажется довольно ясным, но, к сожалению, я не смог его решить.