根据Pandas DataFrame中行中的其他值突出显示一行中的多个单元格

时间:2018-02-08 09:06:35

标签: python excel pandas dataframe slice

我试图根据两个条件突出显示我的pandas数据框中的单元格:

  • 如果A细胞 - B细胞>如果((B细胞-A细胞)/ B细胞* 100)> 10,则突出显示绿色的B细胞。 20突出显示红色的B细胞

  • 如果A细胞-C细胞>如果((C细胞-A细胞)/ C细胞* 100)> 10,则突出显示绿色的C细胞。 20突出显示C cellin red

i  A  B  C   D
0  4  2  3  Jim
1  3  3  2  Bob
2  3  2  4  Joe

我尝试了apply()和applymap()的一些变体与子集,但我不能做我想要的。

1 个答案:

答案 0 :(得分:1)

尝试查看:https://xlsxwriter.readthedocs.io/

你基本上会得到类似的东西:

    excel_file = StringIO.StringIO()
    writer = pd.ExcelWriter(excel_file,
                            engine='xlsxwriter')
    some_data_frame.to_excel(writer,
                             sheet_name='some_sheet_name',
                             engine='xlsxwriter',
                             encoding='utf-8')
    worksheet = writer.sheets['some_sheet_name']
    worksheet.conditional_format('B',
                                 {'type': 'cell',
                                  'criteria': '>=',
                                  'value': 5,
                                  'format': hot
                                  })
    writer.save()
    writer.close()

在您的情况下,您可以将值设置为等于您的计算。