こんにちは、ナナオです。
今回は小ネタです。
実装
streamlitでも、pandasのDataFrameのスタイルが証できるのでこれを使って以下のように実装します。
実装では特定のカラム(target)の値が10より大きい場合に赤い太字で表示するようにしています。
import pandas as pd
import streamlit as st
def highlight_overdue(row):
# int64をpythonのint型に変換
target = row["target"].item()
# targetが10より大きい場合に赤の太字で表示する
if isinstance(target, int) and target > 10:
return ["color: red; font-weight: bold"] * len(row)
else:
return [""] * len(row)
df = pd.DataFrame([
{"target": 1},
{"target": 2},
{"target": 4},
{"target": 8},
{"target": 16},
{"target": 32},
])
df = df.style.apply(highlight_overdue, axis=1)
st.dataframe(df, width="stretch")
実行すると以下のようになります。
感想
streamlitでスタイルも楽々変更できました。