我的输入是这个简单的框架:
df = pd.DataFrame({'class': ['class_a', 'class_a', 'class_a', 'class_b', 'class_c', 'class_c'],
'name': ['name_1', 'name_2', 'name_3', 'name_1', 'name_1', 'name_2'],
'id': [5, 7, 1, 2, 3, 8]})
print(df)
class name id
0 class_a name_1 5
1 class_a name_2 7
2 class_a name_3 1
3 class_b name_1 2
4 class_c name_1 3
5 class_c name_2 8
我想在列class
中的每个组周围绘制一个蓝色实心边框(蓝色矩形)。
我在stackoverflow Pandas Style: Draw borders over whole row including the multiindex中找到了解决方案
s = df.style
for idx, group_df in df.groupby('class'):
s = s.set_table_styles({group_df.index[0]: [{'selector': '', 'props': 'border-top: 3px solid blue;'}]},
overwrite=False, axis=1)
但有两个问题:
1.外部边界缺失
1.保存到Excel时,样式丢失
有没有一个变化,伙计们,我们可以修复至少“点1”?
1条答案
按热度按时间vngu2lb81#
要在类列中的每个组周围绘制一个蓝色矩形,您需要设置分组行的顶部、底部、左侧和右侧边框。这需要设置每个组的第一行和最后一行的边框,以及整个组的边框。这可以像下面这样实现
这导致