質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4511閲覧

DataFrameで条件に一致するセルの色を変更したい

s-hara

総合スコア52

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/05/26 05:22

編集2018/05/26 19:24

前提・実現したいこと

jupyter notebook上で、DataFrameにおいて特定条件に一致するセルの色を変更したい

具体的には、以下の様なデータフレームを用意した場合において、各行毎に「Key」列とvalue1,value2の値を比較して数値が異なるセルの色だけ赤色に変更したいのですが、どのようにすれば実現できるのか
不明です。
以下記例ですと、Index=1のvalue1の値「3]のセルだけ赤色に変更したいです。

**作成したデータフレーム

dframe = DataFrame({'Key':['1','2','3','4','5'], 'value1':['1','3','3','4','5'], 'value2':['1','1','3','4','5'], } ) dframe -------------------------------------------------- 実行結果 Key value1 value2 0 1 1 1 1 2 3 1        2 3 3 3 3 4 4 4 4 5 5 5

補足情報(ツールのバージョンなど)

python 3.6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

jupyterは常用していないので詳しくはわかりませんが、この記事にその辺の話が載っています。

Python Jupyter + pandas で DataFrame 表示をカスタマイズする - StatsFragments

そのまま動くかはちょっと自信がありませんが、以下のような感じでできるのではないでしょうか。

python

1def func(s): 2 style_lst = ["", "", ""] 3 if s["value1"] != s["key"]: 4 style_lst[1] = "background-color: red" 5 if s["value2"] != s["key"]: 6 style_lst[2] = "background-color: red" 7 return style_lst 8 9df.style.apply(func, axis=1)

ところで質問文のdfと実行例が一致していませんが、間違いですよね・・・?

投稿2018/05/26 15:36

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問