How to highlight both a row and a column at once in pandas
pandas, python
Solution
How about doing something like this? Enumerate the column and check the index while building up the style list:
df.style.apply(lambda x: ['background: lightblue' if x.name == 0 or i == 0 else ''
for i,_ in x.iteritems()])
Or if you have color preference:
df.style.apply(lambda x: [('background: lightblue' if x.name == 0
else ('background: lightgreen' if i == 0 else ''))
for i,_ in x.iteritems()])
Problem
I can highlight a column using the syntax ``` 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]) ``` Similarly I can highlight a row by passing `axis=1`: ``` df.style.apply(lambda x: ['background: lightgreen' if x.name == 0 else '' for i in x], axis=1) ``` However I can't work out how to do both at once; the problem is that when I use `applymap`, I only get the values, not the names of the series that they come from.