Могу ли я добавить строку заголовка / заголовка над метками столбца кадра данных pandas и вывести его в HTML? - PullRequest
1 голос
/ 29 сентября 2019

в соответствии с приведенным ниже примером, я вывожу фрейм данных в тело письма.Можно ли добавить строку заголовка или заголовка над строкой меток столбцов?Предпочтительно строка, состоящая из одной ячейки, длины кадра данных, содержащая строку?

import pandas as pd
import numpy as np
from IPython.core.display import display, HTML

dates = pd.date_range('20130101',periods=3)
df = pd.DataFrame(np.random.randn(3,4),index=dates,columns=list('ABCD'))

styles = [{'props':[("font-family", "Calibri")]}, {
       'selector': 'th',
       'props': [
           ('background-color', 'yellow')]}]
s = df.style.set_table_styles(styles)

html = s.hide_index().render()
with open("html_c.html","w") as fp:
   fp.write(html)
#to display in a jupyter notebook
display(HTML(html))

Токовый выход:

enter image description here

Желаемый выход:

enter image description here

1 Ответ

1 голос
/ 29 сентября 2019

Может быть как то так?

import pandas as pd
import numpy as np
from IPython.core.display import display, HTML

dates = pd.date_range('20130101',periods=3)

### >>> begin
columns = list("ABCD")
columns = list(zip(['HEADER'] * 4, columns))             
#[('HEADER', 'A'), ('HEADER', 'B'), ('HEADER', 'C'), ('HEADER', 'D')]
columns = pd.MultiIndex.from_tuples(columns, names=['first', 'second'])    
### >>> end

df = pd.DataFrame(np.random.randn(3,4),index=dates,columns=columns) # <--- also here
styles = [{'props':[("font-family", "Calibri")]}, {
       'selector': 'th',
       'props': [
           ('background-color', 'yellow'),
           ('text-align','center')] # for alignment
        }]
s = df.style.set_table_styles(styles)

html = s.hide_index().render()
with open("html_c.html","w") as fp:
   fp.write(html)
#to display in a jupyter notebook
display(HTML(html))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...