Pandas Dataframe 到 HTML 删除索引

Posted

技术标签:

【中文标题】Pandas Dataframe 到 HTML 删除索引【英文标题】:Pandas Dataframe to HTML remove index 【发布时间】:2017-03-25 13:46:55 【问题描述】:

我正在使用 panda 数据框将 csv 数据读入 Flask 项目。我正在尝试使用 set_index 方法删除 html 表中的 Dataframe 索引:

overviewTable.set_index('Tower Number', inplace=True)

当我使用此方法时,塔号标题会跳到所有其他标题下方的一行。

HTML 看起来像这样:

<div class="row table-responsive">
   <div class="tower-table">
        overview|safe 
   </div>
</div>

和 Python:

overview = pandas.read_csv('../overview_table.csv')
overviewTable = overview[cols]
overviewTable.set_index('Tower Number', inplace=True)

@app.route('/')
def dash():

    return render_template('dash.html', overview=overviewTable[1:167].to_html())

还有 CSS:

.tower-table 
overflow-x: hidden;
overflow-y: scroll;
width: 100%;
height: 500px;
background-color: darkgrey;
border-color: #003430;
border-radius: 5px;

.tower-table tr 
height: 50px;

.tower-table thead tr  
height: 100px;
border-top: none;

是否有另一种方法可以在不影响标题的情况下删除索引。 或者我可以在 CSS 等中做些什么来阻止标题向下移动

【问题讨论】:

我不会将列设置为索引,而是将其保留为列并使用.to_html(index=False) pandas: rename axis in df的可能重复 是的,这种方法效果很好。谢谢@ayhan 【参考方案1】:

正如 @ayhan 在 cmets 中提到的,您可以使用 .to_html(index=False) 来隐藏要包含在 html 表中的索引。

刚刚发布它是因为不是每个人都可能看到评论。

【讨论】:

【参考方案2】:

如here 所述,现在可以在调用“render()”之前在 Pandas 中使用“hide_index()”函数(参见https://pandas.pydata.org/pandas-docs/stable/style.html#Hiding-the-Index-or-Columns):

def highlight_oddRow(s):
    return ['background-color: yellow' if s.name % 2 else '' for v in s]

table = pd.DataFrame(
    'a': [1,2,3,4,5], 'b': [6,7,8,9,10])

with open ('out.html','w') as out:
    print >> out, table.style.apply(highlight_oddRow,axis=1).hide_index().render()

【讨论】:

请考虑在我们的回答中添加更多信息 参考其他来源很好,但您应该在答案中添加来自所述来源的摘录,以显示和解释信息。您对 SO 的回答本身应该是完整的,并提供进一步阅读的链接。 好的,我提供了一些额外的代码来使答案自包含。

以上是关于Pandas Dataframe 到 HTML 删除索引的主要内容,如果未能解决你的问题,请参考以下文章

Pandas DataFrame 到 HTML:格式化值以显示居中

Pandas DataFrame 保存到HTML文件(附炫酷 HTML Table 模板网站)

Pandas DataFrame 保存到HTML文件(附炫酷 HTML Table 模板网站)

Python Pandas Dataframe 另存为 HTML 页面

从 Pandas Dataframe 到 Javascript 数组

Python: Pandas的DataFrame如何按指定list排序