python - 如何使用字典设置 Python Pandas Dataframe 的样式

标签 python pandas dataframe dictionary styles

我有以下索引为“NUM”的 Pandas 数据框:

df

我想使用以下字典为单元格添加颜色:

d =  {'R1': [1,2,3,4,5,6,7,8,9,10]
  ,'R2': [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
  ,'R3': [7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]
  ,'R4': [11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]
  ,'R5': [17,18,19,20,21,22,23,24,25,26,27,28]
}

字典值(列表)中的值是数据框中的索引。 我想为单元格添加背景颜色,例如“R1”列颜色 1 到 10,“R2”列颜色 3 到 20 等等。

谢谢

最佳答案

你可以试试:

df.style.apply(
    lambda x: ['background-color:red' if i in d[x.name] else '' 
               for i in np.arange(len(x))+1]
)

输出:

Output

关于python - 如何使用字典设置 Python Pandas Dataframe 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63184436/

相关文章:

python - Tkinter:用按钮实例化对象

python bson.errors.InvalidDocument : Cannot encode object: datetime. 日期 (2015, 3, 1)

python - 到盒子编号的 X-Y 坐标

python - 在字符串中添加一个空格

python - 使用另一个分类变量 'share' 绘制 'Day' 列的箱线图

python - 如何从 pandas 的 groupby 函数中排除一个值

python pandas时间序列计数之前匹配的数量

python - 从 Queryset Django 中填充缺失的数据

python - 如何根据特定列中的值有条件地使用 `pandas.DataFrame.apply`?

python - 非唯一索引上的 Index._join_level 未实现