如何仅为iloc [1,1]返回具有颜色样式和字体样式的特定单元格?

时间:2017-04-27 04:51:32

标签: python pandas dataframe

我有一个数据框,下面是我的颜色代码:

   def color (val):
    if final.iloc[1,1]<final.iloc[1,0]:
        return "background-color: green"
    else:
        return "background-color: red"

我希望只返回final.iloc[1,1]有绿色背景,如果上面的代码适用,我的整个数据框已经变为绿色。

我也希望final.iloc[1,1]能够改变字体样式,任何人都可以分享一些想法?

2 个答案:

答案 0 :(得分:4)

您可以使用:

{{ControllerType.Default=ControllerType1;""}}

答案 1 :(得分:2)

import pandas as pd
import numpy as np

ex1 = pd.DataFrame([
        [1, 2, 3],
        [2, 1, 4],
        [5, 3, 1]
    ], list('ABC'), list('XYZ'))

ex2 = pd.DataFrame([
        [1, 2, 3],
        [1, 9, 4],
        [5, 3, 1]
    ], list('ABC'), list('XYZ'))

def hl(x):
    r = 'background-color: red'
    g = 'background-color: green'
    c = g if x.iloc[1, 1] < x.iloc[1, 0] else r
    y = pd.DataFrame('', index=x.index, columns=x.columns)
    y.iloc[1, 1] = c
    return y
ex1.style.apply(hl, axis=None)

enter image description here

ex2.style.apply(hl, axis=None)

enter image description here