首頁 > web前端 > css教學 > 如何使用 Pandas DataFrame 樣式對錶的特定元素進行顏色編碼並增強資料視覺化?

如何使用 Pandas DataFrame 樣式對錶的特定元素進行顏色編碼並增強資料視覺化?

Patricia Arquette
發布: 2024-11-03 17:52:29
原創
711 人瀏覽過

How can you use Pandas DataFrame styling to color code specific elements of a table and enhance data visualization?

為可自訂的表格顏色設計 Pandas DataFrames

在資料分析領域,pandas 已成為其全面資料操作功能的基石。它的最新迭代引入了一個強大的新功能:DataFrame 樣式。此功能使用戶能夠增強資料幀的視覺呈現,透過顏色自訂提供視覺提示和清晰度。

為了示範這個新發現的功能,請考慮將標準pandas 資料幀轉換為具有指定顏色的表格的問題-編碼元素:

問題:

給定一個包含data 和索引訊息,任務是透過將顏色應用於特定行、索引值和標題來修改表的外觀。在這種情況下,需要以某種顏色突出顯示與「MOS」對應的行中的所有值,同時也用不同的背景顏色區分標題行、最左邊的索引列和其餘表格單元格。

解決方案:

為了滿足這項需求,pandas 的新樣式功能開始發揮作用。 DataFrame.style.apply() 方法提供了一個靈活的接口,用於將自訂樣式規則應用於資料幀。透過定義樣式函數,我們可以根據各個單元格的內容或元資料來操縱其視覺外觀。

在本例中,我們建立一個自訂樣式函數,用於檢查第二層單元格的索引值是否為「莫斯」。如果是,我們將顏色“darkorange”套用到文字。否則,我們使用“darkblue”。

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

# Create dataframe
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'])

# Define custom style function
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]

# Apply style function
s = df.style.apply(highlight_MOS)</code>
登入後複製

產生的樣式資料框(在style.apply() 呼叫結束時可用)產生一個表,其中包含深橙色的「MOS」行,而標題行、最左邊的索引列和其餘單元格保持其原始顏色。此自訂為表格添加了視覺區分,使其更容易識別和分析特定資料點。

以上是如何使用 Pandas DataFrame 樣式對錶的特定元素進行顏色編碼並增強資料視覺化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板