将 iloc 与 pandas 样式器一起使用

Using iloc with pandas styler

我目前有:

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] 以便仅突出显示这些值。

如何更新此代码?

"Only label-based slicing is supported right now, not positional." 见 docs

解决方法可能如下所示:

# 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'))