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 页面