根据行条件将样式应用于 (pandas) DataFrame 索引

Apply style to a (pandas) DataFrame index according to row criteria

我想对我的 df 索引应用样式 每行 满足条件。

我的密码是

data = {"Labels": ["foo", "bar"], "Values":[1, -1]}
df = pd.DataFrame(data)
df = df.set_index('Labels')
df

如果值为正,我希望 Label 列中的背景为黄色。我试过了

df.style.apply(lambda x:  ['background-color: yellow' if x[1]>0 else '', ''])

但运气不好。我做错了什么?

x 在你的 lambda 函数中是一个 pd.Series.

x[1] 只是该系列的第二个值。在您的示例中,只是 -1。自 -1 > 0 起,什么也没有发生。

您可能想要检查 xas given as example in the docs

的每个值
df.style.apply(lambda x:['background-color: yellow' if s>0 else '' for s in x])

还有per docs,在限制部分,

You can only style the values, not the index or columns