Python 按值排序的样式器子集列

Python 按值排序的样式器子集列,python,pandas,Python,Pandas,我使用以下方法为数据帧中的单元格着色: 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 .ba

我使用以下方法为数据帧中的单元格着色:

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))
df_s=(df.style
.background_梯度(cmap=cm1,subset=['col1']
这是行不通的

其思想是只将渐变应用于
col1
中小于
x
的值,并显示
col1>=x
未着色的完整数据帧

似乎应该有一种简单的方法来实现这一点,但我似乎无法将参数转换为
子集的正确格式


提前感谢您的帮助

您需要使用
pd.indexlice

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'])
导入seaborn作为sns
cm1=sns.发散调色板(h_pos=130,h_neg=10,s=99,l=55,n=99,as_cmap=True)
np.随机种子(123)
df=pd.DataFrame(np.random.randint(0100,(5,5)),columns=[*'ABCDE']

df.style.background_gradient(cmap=cm1,subset=pd.indexlice[df['C']我就知道会是这样简单的,谢谢!