使用 applymap() 方法突出顯示 Pandas DataFrame 的特定列
在使用 Pandas DataFrame 展示或解釋一些事實和資料時,我們可能需要突出顯示給定資料中重要的行和列,這有助於使它們更具吸引力、更容易理解和視覺效果更佳。突出顯示 Pandas DataFrame 的特定列的一種方法是使用內建方法 applymap()。
使用 applymap() 方法突出顯示 Pandas DataFrame 的 Python 程式
為了正確理解程式碼,我們需要討論 Pandas 和 applymap() 的基礎知識。
Pandas
這是一個開源的 Python 庫,主要用於資料分析和處理。它可以透過對指定資料執行各種操作(例如清洗、過濾、分組、聚合和合並)來處理關係資料和帶標籤的資料。
applymap() 方法
它用於對整個 Pandas DataFrame 以元素級的方式應用使用者定義的方法。要突出顯示特定列,我們首先需要定義一個自定義方法,該方法定義突出顯示列所需的條件,然後我們使用 applymap() 方法以及 style 模組來執行操作。
語法
style.applymap(nameOfMethod)
示例 1
以下示例演示瞭如何使用 applymap() 方法突出顯示 Pandas DataFrame 中的特定列。
方法
首先,匯入 Pandas 庫以便我們可以使用 DataFrame。
建立一個使用者定義的方法,該方法以 'value' 作為引數並返回背景顏色。此方法將檢查值是否可被 2 整除。如果是,則將顏色設定為藍色;如果值可被 3 整除,則將顏色設定為橙色;否則,顏色將保持為空。
建立一個包含名為 'Number' 的單個列和一些值的 DataFrame。
然後,使用 'applymap()' 呼叫 'highlight_columns()' 方法來突出顯示指定的列,然後顯示突出顯示的列。
import pandas as pd # a user-defined method to highlight the data def highlight_columns(value): color = '' if value % 2 == 0: color = 'background-color: blue' elif value % 3 == 0: color = 'background-color: orange' return color # Creating a sample DataFrame using pandas data = {'Number': [12, 15, 18, 21, 24]} df = pd.DataFrame(data) # Uisng highlight_columns() method to the 'Number' column highlighted_df = df.style.applymap(highlight_columns) # to show the columns display(highlighted_df)
輸出
示例 2
在以下示例中,我們將根據給定條件突出顯示列的特定資料。
方法
建立一個使用者定義的方法,該方法以 'value' 作為引數並返回背景顏色。此方法將檢查值是否大於 50。如果是,則顏色將設定為黑色;否則,顏色將保持為空。
建立一個名為 'data' 的字典,其中包含三個鍵:'Name'、'Age' 和 'Score'。每個鍵都與其關聯的列表作為值。
然後,使用 'applymap()' 呼叫 'highlight_columns()' 方法來突出顯示指定的列,然後使用名為 'display()' 的內建方法顯示列的突出顯示資料。此方法將僅應用於 DataFrame 的 'Age' 和 'Score' 列。
import pandas as pd # a user-defined method to highlight the data def highlight_columns(value): color = 'background-color: black' if value > 50 else '' return color # Creating a sample DataFrame using pandas data = {'Name': ['Ram', 'Shyam', 'Shrey'], 'Age': [35, 42, 28], 'Score': [75, 60, 90] } df = pd.DataFrame(data) # Uisng highlight_columns() method to the 'Age' and 'Score' columns highlighted_df = df[['Age', 'Score']].style.applymap(highlight_columns) # to show the columns display(highlighted_df)
輸出
示例 3
在以下示例中,我們將使用 applymap() 方法突出顯示所有三個列。為此,我們只需要將 'color' 變數設定為 'black',而無需像在之前的示例中那樣指定任何條件。
import pandas as pd # a user-defined method to highlight the data def highlight_columns(value): color = 'background-color: black' return color # Creating a sample DataFrame using pandas data = {'Name': ['Ram', 'Shyam', 'Shrey'], 'Age': [35, 42, 28], 'Score': [75, 60, 90]} df = pd.DataFrame(data) # Uisng highlight_columns() method to the 'Age' and 'Score' columns highlighted_df = df[['Name', 'Age', 'Score']].style.applymap(highlight_columns) # to show the columns display(highlighted_df)
輸出
結論
我們從介紹問題陳述開始本文,即突出顯示 Pandas DataFrame 的特定列。然後,我們討論了一種可能的解決方案,即利用內建方法 applymap(),並提供了三個不同的示例來理解其用法。