首頁  >  文章  >  web前端  >  如何使用樣式和 CSS 更改 Pandas DataFrame HTML 表中的文字和單元格顏色?

如何使用樣式和 CSS 更改 Pandas DataFrame HTML 表中的文字和單元格顏色?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-02 07:53:02279瀏覽

How can I change the text and cell colors in a Pandas DataFrame HTML table using styles and CSS?

使用樣式和CSS 更改Pandas DataFrame HTML 表中的文字和單元格顏色

通常,在Python 中使用資料框時,它有利於自訂資料的視覺外觀,使其資訊更豐富或更具視覺吸引力。這可以透過使用樣式和 CSS 更改資料框中文字、標題和單元格的顏色來實現。

在這種情況下,我們得到一個pandas 資料框,其中包含按行和列組織的值,並且目標是將「MOS」行中的值著色為某種顏色,並更改左側兩個索引/標題列和頂部標題行的背景顏色。

為了實現這一點,我們可以利用新的pandas 版本 0.17.1 中引入了樣式功能。以下Python 程式碼示範如何將樣式應用於資料框:

<code class="python">import numpy as np
import pandas as pd

arrays = [['Midland', 'Midland', 'Hereford', 'Hereford', 'Hobbs','Hobbs', 'Childress',
           'Childress', 'Reese', 'Reese', 'San Angelo', 'San Angelo'],
          ['WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples)
df = pd.DataFrame(np.random.randn(12, 4), index=arrays,
                  columns=['00 UTC', '06 UTC', '12 UTC', '18 UTC'])

def highlight_MOS(s):
    is_mos = s.index.get_level_values(1) == 'MOS'
    return ['color: darkorange' if v else 'color: darkblue' for v in is_mos]

s = df.style.apply(highlight_MOS)
print(s)</code>

highlight_MOS 函數定義為將深橙色應用於「MOS」行中的值,並將深藍色應用於所有其他行中的值價值觀。然後使用 style.apply 方法將此函數應用於資料幀,並列印結果。

程式碼的輸出將是一個資料幀表,其中「MOS」行為深橙色,留下兩個索引/標題列和頂部標題行,並使用不同的背景顏色。這種自訂可以在資料框中以更具視覺吸引力和資訊量的方式表示資料。

以上是如何使用樣式和 CSS 更改 Pandas DataFrame HTML 表中的文字和單元格顏色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn