mirror of
https://github.com/balkian/gists.git
synced 2024-11-01 08:01:44 +00:00
24 lines
882 B
Python
24 lines
882 B
Python
|
def latex_max(data, bgcolor='yellow', fgcolor="black", ignore=['AvgContent',]):
|
||
|
'''
|
||
|
highlight the maximum in a Series or DataFrame
|
||
|
'''
|
||
|
txt = '{:.3f}'
|
||
|
attr = '\textbf{{{}}}'
|
||
|
attr_max = '\colorbox{{' + bgcolor + '}}{{\textcolor{{' + fgcolor + '}}{{{}}}}}'
|
||
|
# print(data)
|
||
|
is_max = data >= data.drop(ignore).max()
|
||
|
mx = data.drop(ignore).max()
|
||
|
real_mx = data.max()
|
||
|
attrs = []
|
||
|
for v in data:
|
||
|
a = txt.format(v)
|
||
|
if v == mx:
|
||
|
a = attr.format(a)
|
||
|
if v == real_mx:
|
||
|
a = attr_max.format(a)
|
||
|
attrs.append(a)
|
||
|
return pd.Series(attrs, index=data.index)
|
||
|
|
||
|
def to_latex(df, *args, **kwargs):
|
||
|
with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.max_colwidth', -1):
|
||
|
print(df.apply(lambda x: latex_max(x, *args, **kwargs), axis=1).to_latex(escape=False))
|