Идея заключается в создании нового DataFrame, заполненного стилями по условию с помощью Styler.apply
, для набора строк по условиям используется numpy.where
:
def expired(x):
c1 = 'background-color: red'
c2 = 'background-color: green'
df1 = pd.DataFrame('', index=x.index, columns=x.columns)
m = x['Expiration Date'] < today
df1['Expiration Date'] = np.where(m, c1, c2)
return df1
df.style.apply(expired, axis=None)
При раскрашивании всех строк по условию используйте DataFrame.mask
:
def expired(x):
c1 = 'background-color: red'
c2 = 'background-color: green'
df1 = pd.DataFrame(c1, index=x.index, columns=x.columns)
m = x['Expiration Date'] < today
df1 = df1.mask(m, c2)
return df1