我正在Dash DataTable中可视化Pandas DataFrame,并希望使用特定颜色**(例如红色或绿色)手动突出显示某些单元格**。
着色取决于一些条件,这些条件不仅取决于单元格本身的值,还取决于相邻值(例如,前一行和下一行之间的差)。
我已经通过了docs和reference。从我的理解conditional formatting不允许引入依赖于相邻单元格的值的条件。
有没有办法在Python中使用Pandas DataFrame定义条件,然后相应地格式化Dash DataTable的某些特定单元格?我已经研究了[style_cell
property]](https://dash.plotly.com/datatable/style),但这似乎适用于整个表,而不能逐个单元格应用。
编辑:更准确地说,我所寻找的是根据下一行see example in image的单元格值为每个单元格的值着色:
- 当单元格的值大于下一行中单元格的值时(例如,row1@col1〉row2@col1),则文本颜色应该是绿色(例如,row1@col1)
- 当单元格的值比下一行中的单元格的值低时(例如,row2@col1
- 当单元格的值等于下一行中单元格的值(例如,row1@col2 = row2@col2)时,则文本颜色不应改变/保持黑色(例如,row1@col2)
1条答案
按热度按时间hl0ma9xz1#
我想你可以先在panda中找到不同的行,然后用它来设计你的dash datatable。下面是我的代码:
下面是df输出:
之后我们将基于col_shift列设置样式:
结果如下: