将iloc与pandas styler一起使用

时间:2019-03-07 19:36:42

标签: python python-3.x pandas

我目前有:

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

s = df.style.applymap(color_cell)

其中提供以下数据框:

enter image description here

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

如何更新此代码?

1 个答案:

答案 0 :(得分:2)

“目前仅支持基于标签的切片,不支持位置切片。”参见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'))

enter image description here