例如,我希望能够在数据框中以绿色突出显示前 17 行。我已经看到了有关如何根据列值突出显示行的答案,但无论列中的值如何,都没有像行那么简单。我不关心行中的值。
TLDR:我只是希望能够将数据框中的前 17 行着色为绿色。
谢谢您的帮助!
df.style.applymap(lambda _: "background-color: green", subset=(df.index[:17],))
我们用一个元组对样式区域进行子集化,表示我们选择行(如果元组被剥离,它将它们解释为列名称)。请注意,我们不能直接在那里写入
range(17)
,因为并非所有数据帧都有默认的 RangeIndex (0, 1 ...)。由于我们并不真正关心单元格中的值,而是行索引本身,因此在着色函数中使用 _
来表示忽略这一点。
前 N 行的概括:
# Color first N rows
N, color = 17, "lightgray"
df.style.applymap(lambda _: f"background-color: {color}", subset=(df.index[:N],))
特定行的概括:
# Color specific rows
rows_to_color = [0, 4, 5, 12]
color = "lightgray"
df.style.applymap(lambda _: f"background-color: {color}",
subset=(df.index[rows_to_color],))