根据条件突出显示数据框中的行
Highlight rows in dataframe based on condition
我有数据框 df :
id product. 2021-01. 2021-02 2021-03
caw2. A. 12. 31 10
ssca. B 12. 13 34
dsce. c 11 13 32
我想用红色突出显示最后一列 (2021-03) 小于前一列 (2021-02) 的记录,并用绿色突出显示最后一列大于前一列的记录。
我是 运行 Jupyter Notebook 中的代码。
你可以试试
def highlight(df):
m1 = df['2021-03'] > df['2021-03'].shift()
m2 = df['2021-03'] < df['2021-03'].shift()
color = 'background-color: {}'.format
style = pd.Series([color('')]*df.shape[0])
style = style.mask(m1, color('green'))
style = style.mask(m2, color('red'))
style = pd.concat([style]*df.shape[1], axis=1)
style.columns = df.columns
style.index = df.index
return style
s = df.style.apply(highlight, axis=None)
我有数据框 df :
id product. 2021-01. 2021-02 2021-03
caw2. A. 12. 31 10
ssca. B 12. 13 34
dsce. c 11 13 32
我想用红色突出显示最后一列 (2021-03) 小于前一列 (2021-02) 的记录,并用绿色突出显示最后一列大于前一列的记录。
我是 运行 Jupyter Notebook 中的代码。
你可以试试
def highlight(df):
m1 = df['2021-03'] > df['2021-03'].shift()
m2 = df['2021-03'] < df['2021-03'].shift()
color = 'background-color: {}'.format
style = pd.Series([color('')]*df.shape[0])
style = style.mask(m1, color('green'))
style = style.mask(m2, color('red'))
style = pd.concat([style]*df.shape[1], axis=1)
style.columns = df.columns
style.index = df.index
return style
s = df.style.apply(highlight, axis=None)