Панды подсвечивают строки на основе имени индекса - PullRequest
2 голосов
/ 08 апреля 2019

Я боролся с тем, как стилизовать выделенные строки панд на основе имен индексов.Я знаю, как выделить выделенные строки, но когда мне нужно выделить на основе индекса, код не работает.

Настройка

df = pd.DataFrame({'key': list('ABCD'), 'value': range(4)})
print(df)
  key  value
0   A      0
1   B      1
2   C      2
3   D      3

Подсветкастроки, когда ключ имеет значение «B» или «D»

# this works

    df.style.apply(lambda x: ['background: lightgreen' 
                                          if (x.key == 'B' or x.key == 'D')
                                      else '' for i in x], axis=1)

Подсветка строк на основе имен индексов

# This DOES NOT work
df1 = df.set_index('key')
df1.style.apply(lambda x: ['background: lightgreen' 
                                      if (x.index == 'B' or x.index == 'D')
                                      else '' for i in x], axis=1)

Как выделить строкина основе имен индексов?

1 Ответ

4 голосов
/ 08 апреля 2019

Изменить index на name:

df1.style.apply(lambda x: ['background: lightgreen' 
                                  if (x.name == 'B' or x.name == 'D')
                                  else '' for i in x], axis=1)

pic

...