根据行条件将样式应用于 (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
起,什么也没有发生。
您可能想要检查 x
、as 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
我想对我的 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
起,什么也没有发生。
您可能想要检查 x
、as 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