Suppose that we have this dataframe:
Value 1 | Value 2 | Value 3 |
---|---|---|
6 | 5 | 6 |
6 | 5 | 10 |
How to apply color if values on the same column is equals but skip the first column? In my case, column Value 2 must be colored
I have used Pandas df.apply, but the example is compare column on the same row
CodePudding user response:
Hi, you can try like this one:
df = df.style.apply(lambda x: ['background-color: lightgreen']*len(df) if (x.iloc[0] == x.iloc[1] and x.name != 'Value1') else ['background-color: white']*len(df), axis = 0)
CodePudding user response:
You can use:
def color(s):
return s.duplicated(keep=False).map({True: 'background-color: yellow'})
df.style.apply(color, subset=df.columns[1:], axis=0)
output:
CodePudding user response:
Use:
df.style.apply(lambda x: np.where(np.ones(len(x), dtype=bool) * x.nunique() == 1,
'background-color: yellow', ''),
subset=df.columns[1:],
axis=0)