通过使用Pandas Style,我试图突出显示那些从数据框中进行子集划分(行列和列划分)的单元格(如下所示)用条件格式:ValueError :(使用“熊猫风格”时的'系列长度必须与比较匹配'
例如,从0行1和列“亚当”和“吉尔”子集划分的单元格后,我想强调这些细胞绿色,如果它们的值大于他们相应的目标值,如果更低,则为橙色。
但是我保持谨慎摹运行代码时出现以下错误:
ValueError: ('Series lengths must match to compare', u'occurred at index 0'
)
我能做些什么来解决这个问题?
这是我的代码:
import pandas as pd
def AboveTarget(s): # For dataframe style
green = s > df["Target"]
orange = s < df["Target"]
return ["background-color: #86f922" if v else "background-color: #faebde" if w else "background-color: white" for v, w in zip(green, orange)]
df = pd.DataFrame({"Adam": [99.1, 95.2, 83.1],
"Gill": [99.2, 96.1, 81],
"Louis": [60, 71.5, 99.1],
"Target": [99, 98, 95]
})
html = (df.style.\
apply(AboveTarget, subset = pd.IndexSlice[0:1, ["Adam", "Gill"]], axis = 1)
)
html