首页 > 解决方案 > 将 iloc 与 pandas 样式器一起使用

问题描述

我目前有:

def color_cell(val):
    color = 'lightgreen' if val ==0 else 'white'
    return 'background-color: %s' % color

s = df.style.applymap(color_cell)

这给出了以下数据框:

在此处输入图像描述

我想使用pandas.dataframe.iloc来挑选突出显示的值。例如使用df.iloc[0,1]df.iloc[1,2]以便仅突出显示这些值。

如何更新此代码?

标签: pythonpython-3.xpandaspandas-styles

解决方案


“目前仅支持基于标签的切片,不支持位置切片。” 查看文档

解决方法可能如下所示:

# sample data
np.random.seed(1)
df = pd.DataFrame({'col':np.random.randint(0,4,5),
                   'col1':np.random.randint(0,4,5),
                   'col2':np.random.randint(0,4,5)})

def color_cell(df):
    return 'background-color: lightgreen'

df.style.applymap(color_cell, subset=(0,'col')).applymap(color_cell, subset=(1,'col2'))

在此处输入图像描述


推荐阅读