我有一些数据包含实际值的列,然后是原始目标值
dimension | metric_actual | metric_target | metric2_actual | metric2_target
A 16.41 20.00 68.54% 72.00%
B 17.39 18.00 63.87% 60.00%
理想情况下,如果metric_actual小于目标,我希望单元格有红色文本,如果大于目标,我希望绿色文本。
我想使用.style选项将数据框输出到电子邮件中。我似乎无法逐行地弄清楚如何执行此操作,但是如果每个行的目标可能不同。
http://pandas.pydata.org/pandas-docs/stable/style.html
这些功能可以工作,但前提是我有一个静态列。我的问题是,对于数据中每一行的相同指标,目标是不同的。
def color_negative_red(value, target):
color = 'red' if value < target else 'green'
return 'color: %s' % color
编辑问题的是,我得到的真相是错误的错误&#39;:
df.style.applymap(color_negative_red, target=df['metric_target'], subset=['metric_actual']
我觉得这应该是可能的,但我需要将每行的每个值与同一行中的相应目标值进行比较。