我想根据数据框中另一列的值高亮显示单元格。与下面的示例一样,如果p1_ourproduct的值等于1,那么我想突出显示prodkey1和product1单元格,对于产品2和3也是如此
我该怎么做
import pandas as pd
data = { 'prodkey1': [101,102,103,104,105],
'prdouct1': ['a','b','c','d','e'],
'prodkey2': [201,202,203,204,205],
'prdouct2': ['f','g','h','i','j'],
'prodkey3': [301,302,303,304,305],
'prdouct3': ['k','l','m','n','o'],
'p1_ourproduct': [1,0,1,0,0],
'p2_ourproduct': [0,0,1,1,0],
'p3_ourproduct': [0,1,0,0,1],
}
df = pd.DataFrame(data)
您可以编写一个自定义的
highlighter
函数,并apply
将其:首先,我们查看传递的列的名称:如果它包含
ourproduct
,则返回空字符串,即不使用样式。否则,使用regex(\d+)$
获取列名中的最后一位,并查找相应的ourproduct
列。然后形成一个列表理解:如果相应查找列中的值为1(即if our_prod
部分),则返回一个带有黄色的背景色样式;否则没有样式得到
相关问题 更多 >
编程相关推荐