Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jupyter笔记本中使用Python基于多个公差值对单个数据帧单元进行颜色编码_Python_Python 3.x_Pandas_Jupyter Notebook_Styling - Fatal编程技术网

在Jupyter笔记本中使用Python基于多个公差值对单个数据帧单元进行颜色编码

在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 |

我想根据特定的公差值对数据框的各个单元格进行颜色编码,我已经尝试了多种方法,但由于某些原因,我无法理解为什么Jupyter笔记本不对我的数据框进行颜色编码

熊猫造型:

我有一个下表,并且我愿意迭代行:[row,1:6]

|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]:
颜色=‘红色’
其他:
颜色=‘白色’
印刷品(彩色)
“返回”背景色: