Jas*_*n S 7 html python pandas
如果我使用DataFrame.set_index,我会得到这个结果:
import pandas as pd
df = pd.DataFrame([['foo',1,3.0],['bar',2,2.9],
['baz',4,2.85],['quux',3,2.82]],
columns=['name','order','gpa'])
df.set_index('name')
Run Code Online (Sandbox Code Playgroud)
请注意不必要的行...我知道它这样做是因为它保留了列标题的左上角单元格,但我不关心它,如果我在演示文稿中使用它,它会使我的表格看起来有些不专业。
如果我不使用DataFrame.set_index,多余的行就会消失,但我会得到数字行索引,这是我不想要的:
如果我使用to_html(index=False)那么我可以解决这些问题,但第一列不是粗体:
import pandas as pd
from IPython.display import HTML
df = pd.DataFrame([['foo',1,3.0],['bar',2,2.9],
['baz',4,2.85],['quux',3,2.82]],
columns=['name','order','gpa'])
HTML(df.to_html(index=False))
Run Code Online (Sandbox Code Playgroud)
如果我想控制样式以使名称变为粗体,我想我可以使用新的StylerAPI via HTML(df.style.do_something_here().render()),但我不知道如何实现该index=False功能。
黑客要做什么?(除了我自己构建 HTML 之外)
我查阅了Styler 的源代码并找到了答案;如果您设置,df.index.names = [None]那么这会抑制“额外”行(以及我并不真正关心的列标题):
import pandas as pd
df = pd.DataFrame([['foo',1,3.0],['bar',2,2.9],
['baz',4,2.85],['quux',3,2.82]],
columns=['name','order','gpa'])
df = df.set_index('name')
df.index.names = [None]
df
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3922 次 |
| 最近记录: |