如何为 Pandas 样式器对象添加边框?
How to add borders to a Pandas styler object?
我有一个数据框df,如下:
Name
Day
Bob
Monday
John
Thursday
Sam
Friday
Bob
Monday
Katie
Sunday
Kyle
Tuesday
Katie
Saturday
Bob
Wednesday
Katie
Sunday
Sam
Thursday
Joe
Friday
根据名称列中名称出现的频率,以下代码突出显示整行:
cmap = {1: 'green', 2: 'yellow', 3: 'red'}
freq = df['Name'].map(df['Name'].value_counts())
colors = freq.map(cmap).radd('background-color: ')
df.style.apply(lambda s: colors)
然而,当我使用 .render() 将样式器对象转换为 html 以发送电子邮件时,table 中没有寄宿生。在将数据框转换为样式器对象然后再转换为 HTML table 时如何保持边界?
当我找到答案时,我几乎把问题打出来了,所以我想我会把它作为问答来做。
创建样式器对象时,一个接一个地串接样式效果很好。例如:
df.style.apply(lambda s: colors).set_table_styles(
[{"selector": "", "props": [("border", "1px solid")]},
{"selector": "tbody td", "props": [("border", "1px solid")]},
{"selector": "th", "props": [("border", "1px solid")]}])
然后在 set_table_styles 中可以更改不同的参数来格式化边框。
我有一个数据框df,如下:
Name | Day |
---|---|
Bob | Monday |
John | Thursday |
Sam | Friday |
Bob | Monday |
Katie | Sunday |
Kyle | Tuesday |
Katie | Saturday |
Bob | Wednesday |
Katie | Sunday |
Sam | Thursday |
Joe | Friday |
根据名称列中名称出现的频率,以下代码突出显示整行:
cmap = {1: 'green', 2: 'yellow', 3: 'red'}
freq = df['Name'].map(df['Name'].value_counts())
colors = freq.map(cmap).radd('background-color: ')
df.style.apply(lambda s: colors)
然而,当我使用 .render() 将样式器对象转换为 html 以发送电子邮件时,table 中没有寄宿生。在将数据框转换为样式器对象然后再转换为 HTML table 时如何保持边界?
当我找到答案时,我几乎把问题打出来了,所以我想我会把它作为问答来做。
创建样式器对象时,一个接一个地串接样式效果很好。例如:
df.style.apply(lambda s: colors).set_table_styles(
[{"selector": "", "props": [("border", "1px solid")]},
{"selector": "tbody td", "props": [("border", "1px solid")]},
{"selector": "th", "props": [("border", "1px solid")]}])
然后在 set_table_styles 中可以更改不同的参数来格式化边框。