我需要突出顯示熊貓中某些列的最大值和最小值。最大值 - 綠色顏色最小值 - 紅色輸入資料框:
Name A B
0 A 1 4
1 B 2 5
2 C 3 6
預期輸出:

uj5u.com熱心網友回復:
如果使用上面的熊貓版本,請1.3.0使用:
(df.style.highlight_max(axis=0, props='background-color:green;', subset=['A','B'])
.highlight_min(axis=0, props='background-color:red;', subset=['A','B'])
.to_excel('styled.xlsx', engine='openpyxl'))
如果使用舊版本:
def highlight_min_max(x):
c1 = 'background-color: green'
c2 = 'background-color: red'
# condition
m1 = x.eq(x.max())
m2 = x.eq(x.min())
# empty DataFrame of styles
df1 = pd.DataFrame('', index=x.index, columns=x.columns)
# set columns by conditions
return df1.mask(m1, c1).mask(m2, c2)
df.style.apply(highlight_min_max, axis=None, subset=['A','B'])
選擇:
def highlight_max(s, props=''):
return np.where(s == np.nanmax(s.values), props, '')
def highlight_min(s, props=''):
return np.where(s == np.nanmin(s.values), props, '')
(df.style.apply(highlight_max, axis=0, props='background-color:green;', subset=['A','B'])
.apply(highlight_min, axis=0, props='background-color:red;', subset=['A','B'])
.to_excel('styled.xlsx', engine='openpyxl'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/384393.html
上一篇:如何獲得每年哪個球員的最高分?
