4 回答

TA貢獻1829條經驗 獲得超13個贊
找到了答案。這應該可以使標題和值居中對齊并隱藏索引:
df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])
df1.set_properties(**{'text-align': 'center'}).hide_index()

TA貢獻1884條經驗 獲得超4個贊
只是為了澄清目標-您想要的是修改數據框的顯示,而不是數據框本身。當然,在 Jupyter 的上下文中,您可能不關心區別 - 例如,如果擁有數據框的唯一目的是顯示它 - 但區分這些東西是有幫助的,因此您可以使用正確的工具來做正確的事事物。
在這種情況下,正如您所發現的,樣式器使您可以控制數據框顯示的大部分方面 - 它通過輸出和呈現 html 來實現。
因此,如果您的數據框在 Jupyter 中“看起來”像這樣:
但是您希望它看起來更像這樣:
您可以使用樣式器應用任意數量的樣式(將它們鏈接起來),以便呈現樣式化的 HTML。
df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])\ .hide(axis='index')
在 Jupyter 中,這將像我在上面顯示的那樣顯示,但是如果您想在其他地方顯示它并且想要底層 HTML(假設您正在基于此在 Flask 中呈現頁面),您可以使用 .to_html() 方法,像這樣:
以這種方式工作有兩個基本優勢:
數據框中的數據保持其原始狀態 - 無論如何您都沒有更改數據類型或內容
樣式器打開了大量工具,使您的輸出看起來完全符合您的要求。
在 Jupyter 和數字的上下文中,這特別有用,因為您不必修改數字(例如使用舍入或字符串轉換),您只需應用樣式格式并在不需要時避免使用指數符號。
這是一個修改后的示例,它顯示了使用樣式器“修復”Jupyter Pandas 數字顯示問題是多么容易:

TA貢獻1906條經驗 獲得超10個贊
試試 IPython.display
from IPython.display import HTML HTML(df.to_html(index=False))

TA貢獻1801條經驗 獲得超8個贊
df.style.set_properties(subset=["Feature", "Value"], **{'text-align': 'center'})
添加回答
舉報