データフレームに内容毎の色をつけたい

実現したいこと

データフレームでcolumnの数値を比較して背景色を変えたい。
データフレームでcol1とcol2を比較して差が5以上あれば背景色を赤にしたいと考えております。
前提として値の大きい方にオレンジ色をつけており、さらにその差が5以上あれば赤色にしたいと考えております。

該当のソースコード

python

1import numpy as np 2arr1 = np.array([[10,5], [13,23], [39,37]])3df=pd.DataFrame(data=arr1,columns=['col1','col2'])4df 5 6css = "background-color: orange"7 8def sabun(s, n):9 return [css if x <= n else "" for x in s.rank(ascending=False)]10 11df2 = df.style.apply(sabun, n=1, axis=1)

試したこと

df.style.apply(sabun, n=1, axis=1).apply~のように上書きでやろうとしましたが、col1とcol2を比較、結果を反映させる方法が分かりませんでした。

これ以上一人ではできないと思いましたので、解決の手助けをお願いいたします。

コメントを投稿

0 コメント