我的输入是这个简单的数据帧:
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
中的每个组周围画一个蓝色实心边框(一个蓝色矩形).
我在堆栈溢出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)
但有两个问题:
- 缺少外部边框
- 当我将其保存到EXCEL时,样式会丢失
有没有什么改变,伙计们,我们至少可以解决"第一点"?