如何突出两个一排,并在大熊猫一下子列

问题描述:

我可以使用语法如何突出两个一排,并在大熊猫一下子列

import pandas as pd 
df = pd.DataFrame([[1,0],[0,1]]) 
df.style.apply(lambda x: ['background: lightblue' if x.name == 0 else '' for i in x]) 

enter image description here

突出柱同样地,我可以通过传递axis=1高亮显示一行:

df.style.apply(lambda x: ['background: lightgreen' if x.name == 0 else '' for i in x], 
       axis=1) 

enter image description here

但是我不能窝rk如何同时做两件事;问题是当我使用applymap时,我只能得到值,而不是它们来自的系列名称。

如何做这样的事情?枚举列,并检查索引而建立的样式列表:

df.style.apply(lambda x: ['background: lightblue' if x.name == 0 or i == 0 else '' 
          for i,_ in x.iteritems()]) 

enter image description here

或者,如果你有色彩偏好:

df.style.apply(lambda x: [('background: lightblue' if x.name == 0 
          else ('background: lightgreen' if i == 0 else '')) 
          for i,_ in x.iteritems()]) 

enter image description here

+0

是啊,这是正确的方式......现在看起来很明显,只是出于某种原因,我无法绕过它。 – maxymoo