csv 高亮显示Streamlit Dataframe 中的特定行

wpcxdonn  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(362)

我希望读到这篇文章的人一切都好。
这是我在StackOverflow上的第一个问题。我已经玩了很多年的编码了,但是几个月前才真正开始进入这个领域;但我还在学习,并不羞于承认这一点。我有点觉得自己像一个%^^&*$有问题弄清楚这一点哈哈。
我正在做一个小项目,需要在Streamlit中显示的CSV文件的特定行中高亮显示/着色。我在网上浏览过,看到了很多类似的例子,但没有一个完全匹配。我知道我将不得不使用Pandas风格的功能。但如何实现这是我遇到的问题。
code
这就是我目前正在与代码明智的工作。只是一个基本的阅读CSV与Pandas。
enter image description here
我试图只突出显示/填充颜色的整个行的索引号,如行0,,4,和12。
我希望有人有一个很好的参考做什么?正如我所说,我看到一堆接近的东西在网上浏览,但没有什么完全相同的;我不知道该如何实现它。
感谢任何和所有的帮助,这是非常感谢!

i2byvkas

i2byvkas1#

Dataframe 示例

df = pd.DataFrame({"col1": [1, 2, 3], "col2": [4, 5, 6]})
st.dataframe(df)

函数突出显示第一列中数字为2的行。

def color_coding(row):
    return ['background-color:red'] * len(
        row) if row.col1 == 2 else ['background-color:green'] * len(row)

为了达到你想要的高亮显示特定行的目的(不确定你是指每隔4行),最简单的解决方案可能是在 Dataframe 中添加另一列,指定哪些行应该高亮显示,这样你在下面的函数中的if语句就变得非常简单了。
在streamlit中设置df样式

st.dataframe(df.style.apply(color_coding, axis=1))

相关问题