有一个问题,您需要将值转换为浮点数以确保正确
max,因为获取字符串的最大值-
9更像是
1:
def highlight_max(data, color='yellow'): ''' highlight the maximum in a Series or Dataframe ''' attr = 'background-color: {}'.format(color) #remove % and cast to float data = data.replace('%','', regex=True).astype(float) if data.ndim == 1: # Series from .apply(axis=0) or axis=1 is_max = data == data.max() return [attr if v else '' for v in is_max] else: # from .apply(axis=None) is_max = data == data.max().max() return pd.Dataframe(np.where(is_max, attr, ''), index=data.index, columns=data.columns)样品 :
dfPercent = pd.Dataframe({'2014/2015':['10.3%','9.7%','9.2%'], '2015/2016':['4.8%','100.8%','9.7%']})print (dfPercent) 2014/2015 2015/20160 10.3% 4.8%1 9.7% 100.8%2 9.2% 9.7%命令 :
dfPercent.style.apply(highlight_max)



