2016-10-31 18 views
6

można wyróżnić kolumnę przy użyciu składniJak podkreślić zarówno wiersza i kolumny na raz w pand

import pandas as pd 
df = pd.DataFrame([[1,0],[0,1]]) 
df.style.apply(lambda x: ['background: lightblue' if x.name == 0 else '' for i in x]) 

enter image description here

Podobnie można wyróżnić wiersz po przejściu axis=1:

df.style.apply(lambda x: ['background: lightgreen' if x.name == 0 else '' for i in x], 
       axis=1) 

enter image description here

Jednak nie mogę sprawdź, jak wykonać obie naraz; Problem polega na tym, że kiedy używam applymap, otrzymuję tylko wartości, a nie nazwy serii, z której pochodzą.

Odpowiedz

6

Co powiesz na zrobienie czegoś takiego? Wyliczanie kolumnę i sprawdzić indeks podczas budowania listy Styl:

df.style.apply(lambda x: ['background: lightblue' if x.name == 0 or i == 0 else '' 
          for i,_ in x.iteritems()]) 

enter image description here

Lub jeśli masz preferencje kolorów:

df.style.apply(lambda x: [('background: lightblue' if x.name == 0 
          else ('background: lightgreen' if i == 0 else '')) 
          for i,_ in x.iteritems()]) 

enter image description here

+0

Tak to jest właściwa droga ... wydaje się teraz oczywisty, po prostu miałem kłopot z owinięciem głowy z jakiegoś powodu! – maxymoo

Powiązane problemy