在Jupyter笔记本中使用Python基于多个公差值对单个数据帧单元进行颜色编码
我想根据特定的公差值对数据框的各个单元格进行颜色编码,我已经尝试了多种方法,但由于某些原因,我无法理解为什么Jupyter笔记本不对我的数据框进行颜色编码 熊猫造型: 我有一个下表,并且我愿意迭代行:[row,1:6]在Jupyter笔记本中使用Python基于多个公差值对单个数据帧单元进行颜色编码,python,python-3.x,pandas,jupyter-notebook,styling,Python,Python 3.x,Pandas,Jupyter Notebook,Styling,我想根据特定的公差值对数据框的各个单元格进行颜色编码,我已经尝试了多种方法,但由于某些原因,我无法理解为什么Jupyter笔记本不对我的数据框进行颜色编码 熊猫造型: 我有一个下表,并且我愿意迭代行:[row,1:6] |Parameter| Method 1 | Method 2 | Method 3 | Method 4 | Method 5 | Weighing % | |Parameter 1| **99.6 | 100 | 100 | 99.8 |
|Parameter| Method 1 | Method 2 | Method 3 | Method 4 | Method 5 | Weighing % |
|Parameter 1| **99.6 | 100 | 100 | 99.8 | 100** | 25 |
|Parameter 2| **0.4 | 0 | 0 | 0.2 | 0** | 5 |
|Parameter 3| **100 | 100 | 100 | 100 | 100** | 5 |
|Parameter 4| **1.3 | 1.2 | 1.1 | 0.9 | 1.4** | 2.5 |
每个参数都有公差值,应将单元格中的值与之进行比较。根据比较,将为单元格选择特定颜色。
单元值和公差值:
values_for_comparison = [cell value, tolerance_1st_min, tolerance_1st_max, tolerance_2nd_min, tolerance_2nd_max, tolerance_3rd_min, tolerance_3rd_max, tolerance_4th_min, tolerance_4th_max, tolerance_5th_min]
在主程序中:
o=0
行长度表3\u df=表3\u df.shape[0]
p=1
列长度表3=所有表1.形状[1]
q=1
而o<行数长度表3\u df:
而q
根据公差值定义单个单元格(val)的颜色(values\u for\u comparison list[1://code>):
def colors_表(用于比较的值):
打印('colors\u tables')
def colors_tables_by_val(用于比较的值):
打印('colors\u tables\u by\u val')
如果用于比较的值[2]<用于比较的值[1]:
如果val=用于比较的值[2]:
颜色='forestgreen'
elif val<用于比较的值[3]和val>=用于比较的值[4]:
颜色=‘绿黄色’
elif val<用于比较的值[5]和val>=用于比较的值[6]:
颜色=‘黄色’
elif val<用于比较的值[7]和val>=用于比较的值[8]:
颜色=‘橙色’
elif val<用于比较的值[9]:
颜色=‘红色’
其他:
颜色=‘白色’
印刷品(彩色)
返回“背景色:{}”。格式(颜色)
其他:
如果val>=0,则val值_用于_比较[3],val值_用于_比较[5],val值_用于_比较[7],val值_用于_比较[9]:
颜色=‘红色’
其他:
颜色=‘白色’
印刷品(彩色)
返回“背景色:{}”。格式(颜色)
val=用于比较的值[0]
颜色表按值(值、值用于比较)
返回颜色\u表\u按\u值
颜色不会应用于主程序中的任何单元格,但会打印颜色
我应该如何正确地编写代码?至少这部分代码:
table3\u df.style.applymap(比较\u结论.颜色\u表格(值\u用于比较),子集=[table3\u df.iloc[o,p]]
更新20190708
我将代码更改为如下,但仍然没有将任何颜色应用到表3\u df
。颜色是通过以下方式打印的:
o=0
行长度表3\u df=表3\u df.shape[0]
p=1
列长度表3=所有表1.形状[1]
q=1
而o<行数长度表3\u df:
而q=values\u for_comparison[3]:
颜色=‘绿黄色’
elif val<用于比较的值[4]和val>=用于比较的值[5]:
颜色=‘黄色’
elif val<用于比较的值[6]和val>=用于比较的值[7]:
颜色=‘橙色’
elif val<用于比较的值[8]:
颜色=‘红色’
其他:
颜色=‘白色’
印刷品(彩色)
“返回”背景色: