パンダ: セルに条件付き書式を適用する方法
df.style.applymap()関数を使用して、pandas DataFrame のセルに条件付き書式設定を適用できます。
次の例は、この関数を実際に使用する方法を示しています。
例: Pandas のセルに条件付き書式設定を適用する
さまざまなバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [4, 5, 5, 4, 9, 12, 11, 8], ' rebounds ': [3, 9, 12, 4, 4, 9, 8, 2]}) #view DataFrame print (df) points assists rebounds 0 18 4 3 1 22 5 9 2 19 5 12 3 14 4 4 4 14 9 4 5 11 12 9 6 20 11 8 7 28 8 2
次のコードを使用して、10 未満の値を持つ DataFrame 内の各セルに薄緑色の背景を適用できます。
#define function for conditional formatting
def cond_formatting (x):
if x < 10 :
return ' background-color: lightgreen '
else :
return None
#display DataFrame with conditional formatting applied
df. style . applymap (cond_formatting)
DataFrame 内の値が 10 未満のすべてのセルの背景が薄緑色になることに注意してください。
注: Jupyter ノートブックで条件付き書式設定が機能しない場合は、必ず最初に%pip install Jinja2コマンドを実行してください。
color引数とfont-weight引数を使用して、より複雑な条件付き書式設定を適用することもできます。
次の例は、これを行う方法を示しています。
#define function for conditional formatting
def cond_formatting (x):
if x < 10 :
return ' background-color: lightgreen; color:red; font-weight:bold '
elif x < 15 :
return ' background-color:yellow '
else :
return None
#display DataFrame with conditional formatting applied
df. style . applymap (cond_formatting)
この例では、条件付き書式設定関数がどのように機能したかを次に示します。
- 10未満の値の場合は、薄緑色の背景に太字の赤色のフォントを使用します。
- 値が10以上15未満の場合は、黄色の背景を使用します
- 15を超える値の場合は、条件付き書式設定を使用しないでください。
if 、 elif 、 else関数を必要なだけ使用して、条件付き書式設定ルールを DataFrame 内のセルに適用できます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas DataFrame にテーブル タイトルを追加する方法
Pandas DataFrame のすべての行を表示する方法
Pandas DataFrame のすべての列を表示する方法