為可自訂的表格顏色設計 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中文網其他相關文章!