2017-08-03 67 views
1

我与htmlpandas dataframe styler,但在这里,很新列的格式是我的问题:数据框中指数和使用斯泰勒

我写了下面的代码

import pandas as pd 

df = pd.DataFrame([1000000.0, 1000000.0], index=pd.bdate_range('2017-08-01', '2017-08-02')) 

styler = df.style 
styler = styler.format("{:,.0f}") 
styler = styler.set_properties(**{'width': '100px', 'text-align': 'right'}) 

其产生以下

enter image description here

我知道如何格式化dataframe的各种元素我在一起工作。但是,我想要格式化我的indexcolumn标题。特别是,我想将我的index作为日期格式,而且我希望将我的column名称与右侧对齐,就像我对我的值所做的一样。更具体地说,是否有效地访问pandas styler中的indexcolumns

+1

其中一个造型的局限性:“你只能在样式值,而不是索引或列”。 https://pandas.pydata.org/pandas-docs/stable/style.html#Limitations – Alexander

回答

3

你可以尝试这样的事情,看到table styles

import pandas as pd 
​ 
df = pd.DataFrame([1000000.0, 1000000.0], index=pd.bdate_range('2017-08-01', '2017-08-02')) 
​ 
df.index = df.index.strftime("%Y-%m-%d") 
styler = df.style 
styler = styler.format("{:,.0f}") 
styler = styler.set_properties(**{'width': '100px', 'text-align': 'right'}) 

styler.set_table_styles(
# select the table header with th and set it right align 
    [dict(selector="th", props=[("text-align", "right")])] 
) 

enter image description here

+2

你甚至可以在tr上放置一个firstchild伪选择器来仅确定第一个th ...如果这将是一个问题。 – piRSquared

+1

非常感谢,它真的帮助! –