提问人:Melissa Arroyo-Mendoza 提问时间:10/17/2023 最后编辑:Melissa Arroyo-Mendoza 更新时间:10/18/2023 访问量:82
如何突出显示数据框中的特定行?
How to highlight specific rows in a dataframe?
问:
例如,我希望能够在数据帧中以绿色突出显示前 17 行。我已经看到了关于如何根据列值突出显示行的答案,但没有比行更简单的方法,而不管列中的值如何。我不关心行中的值。
TLDR:我只是希望能够将数据帧中的前 17 行涂成绿色。
感谢您的帮助!
答:
1赞
Timeless
10/17/2023
#1
color = "lime"
N = 7 # adjust here
(
df.style.apply(
lambda _: [f"background-color: {color}"]*N,
subset=pd.IndexSlice[:N])
)
输出:
使用的输入:
np.random.seed(0)
df = pd.DataFrame(
{"col1": np.random.randn(10),
"col2": np.random.randn(10),
"col3": np.random.randn(10)
}
)
1赞
Mustafa Aydın
10/17/2023
#2
df.style.applymap(lambda _: "background-color: green", subset=(df.index[:17],))
其中,我们用元组子集样式区域,表示我们选择行(如果元组被剥离,它会将它们解释为列名)。请注意,我们不能直接写入那里,因为并非所有数据帧都具有默认的 RangeIndex (0, 1 ...)。由于我们并不真正关心单元格中的值,而是行索引本身,因此在着色函数中使用以传达忽略它。range(17)
_
前 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],))
评论
1赞
Melissa Arroyo-Mendoza
10/18/2023
非常感谢你超越,也给了我如何做特定的行,而不仅仅是前几行或最后一行。我真的很感激
下一个:尝试在导航栏中突出显示当前页面
评论
DataFrame
没有行的颜色概念。根据输出的位置(目前尚不清楚),有可能实现这种表示。例如 stackoverflow.com/q/43596579/4046632