簡體   English   中英

Pandas Styler 子集列按值

[英]Pandas Styler Subset column by values

我正在使用以下內容為 dataframe 中的單元格着色:

import seaborn as sns

cm1 = sns.diverging_palette(h_pos=130, h_neg=10, s=99, l=55, n=99, as_cmap=True)

df_s = (df.style
    .background_gradient(cmap=cm1, subset=['col1']))

這成功地將背景漸變應用於col1中的值

但是,我想要以下內容:

df_s = (df.style
    .background_gradient(cmap=cm1, subset=['col1'] < x))

哪個不起作用

這個想法是僅將漸變應用於col1中小於x的值,並顯示完整的 dataframe ,其中col1 >= x是未着色的。

似乎應該有一種簡單的方法來做到這一點,但我似乎無法將參數轉換為subset的正確格式。

在此先感謝您的幫助!

您需要使用pd.IndexSlice

import seaborn as sns

cm1 = sns.diverging_palette(h_pos=130, h_neg=10, s=99, l=55, n=99, as_cmap=True)
np.random.seed(123)
df = pd.DataFrame(np.random.randint(0,100,(5,5)), columns=[*'ABCDE'])
df.style.background_gradient(cmap=cm1, subset=pd.IndexSlice[df['C']<50, 'C'])

Output:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM