有什么方法可以对熊猫的数据框进行颜色编码吗?如果条件在某一列上匹配,则对另一列进行颜色编码

我在熊猫中有一个数据框,其中有多列。如果条件在C列中匹配,我有一个任务要对A列中的特定单元格进行颜色编码。  enter image description here

我附了一个例子。 我想对C列应用三种不同的条件

 1. If Column C = poor than Column A = red color
 2. If Column C = good then Column A = Orange color
 3. If Column C = very good then Column A = Green color 

提前谢谢!

zhenggang5685 回答:有什么方法可以对熊猫的数据框进行颜色编码吗?如果条件在某一列上匹配,则对另一列进行颜色编码

Styler.apply与具有numpy.select的自定义功能一起用于根据条件选择颜色:

df = pd.DataFrame({
         'A':[1,3,5,7],'B':list('abcd'),'C':['poor','good','very good','unknown'],})
print (df)
   A  B          C
0  1  a       poor
1  3  b       good
2  5  c  very good
3  7  d    unknown

def color(x): 
   c1 = 'background-color: red'
   c2 = 'background-color: orange'
   c3 = 'background-color: green'
   c = 'background-color: '

   m1 = x['C'] == 'poor'
   m2 = x['C'] == 'good'
   m3 = x['C'] == 'very good'

   df = pd.DataFrame(c,index=x.index,columns=x.columns)
   df['A'] = np.select([m1,m2,m3],[c1,c2,c3],default=c)
   return df

df.style.apply(color,axis=None)

#if want output in excel file
#df.style.apply(color,axis=None).to_excel('styled.xlsx',engine='openpyxl',index=False)
本文链接:https://www.f2er.com/3073434.html

大家都在问