我一直在尝试将Pandas dataframe打印成html,如果某个特定列的值超过阈值,则突出显示特定的整行。我已经浏览了Pandas Styler切片,并尝试改变highlight_max函数以用于这种用途,但似乎失败得很惨;例如,如果我尝试用检查给定行的值是否高于所述阈值来替换is_max(例如
是\u x=df['column\u name']>;=阈值
),不清楚如何正确传递这样的东西或返回什么
我还尝试在其他地方使用df.loc简单地定义它,但这也不太管用
另一个问题也出现了:如果我在之后删除该列(当前的标准),样式是否仍然有效?我想知道df.loc是否可以防止这样的事情成为问题
如果列中的值超过阈值,此解决方案允许您传递列标签或列标签列表以高亮显示整行
将熊猫作为pd导入
将numpy作为np导入
np.随机种子(24)
df=pd.DataFrame({'A':np.linspace(1,10,10)})
df=pd.concat([df,pd.DataFrame(np.random.randn(10,4),columns=list('BCDE'))],
轴=1)
df.iloc[0,2]=np.nan
def高亮显示大于(s、阈值、列):
is_max=pd.系列(数据=False,索引=s.index)
is_max[column]=s.loc[column]>;=门槛
返回['background-color:yellow'if is_max.any()else''for v in is_max]
df.style.apply(高亮显示,阈值=1.0,列=['C','B'],轴=1)
输出:
或一列
df.style.apply(高亮显示,阈值=1.0,列=E',轴=1)