numpy df样式应用于特定单元格

bcs8qyzn  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(61)

我有一个我创建的dict,

data = {'BTC': {'PNL': 834.8485, 'FUNDING': 575.20837762, 'DELTA VOL': 18845436.3535, 'HEDGE VOL': 16444662.545, 'OI': 4598885.7407, 'DEFICIT': 149.35084}, 'BTC 4HR': {'PNL': 76.2125, 'FUNDING': 197.52681642, 'DELTA VOL': 1999585.538, 'HEDGE VOL': 1729156.5247, 'OI': None, 'DEFICIT': None}, 'ETH': {'PNL': -661.112, 'FUNDING': -218.42574899, 'DELTA VOL': 10720104.9915, 'HEDGE VOL': 10088271.477, 'OI': 552973.992, 'DEFICIT': 61.9926}, 'ETH 4HR': {'PNL': 65.331, 'FUNDING': 23.57589308, 'DELTA VOL': 373668.3985, 'HEDGE VOL': 356349.724, 'OI': None, 'DEFICIT': None}, 'TOTAL': {'PNL': 2859.98348042, 'FUNDING': 871.26688115, 'DELTA VOL': 33607091.07200743, 'HEDGE VOL': 30570729.07912772, 'OI': 6019831.030358, 'DEFICIT': 9250.907426}, 'TOTAL 4HR': {'PNL': 177.84871257, 'FUNDING': 246.41302914, 'DELTA VOL': 2881419.73415996, 'HEDGE VOL': 2592306.47723815, 'OI': None, 'DEFICIT': None}}

字符串
在创建DF从这个,需要使大胆0,0单元格0,2和0,4单元格只.尝试与风格.applymap但不能成功.

df1 = pd.DataFrame(data).T
df1

def color_negative_red(val):
    try:
        if val < 0:
            color = 'red'
        elif val>0:
            color='green'
        return 'color: %s' % color
    except:
        return 'color: black'


也使颜色代码的变化,这是工作。

df1=df1.style.apply(styler).set_caption("Futures Risk Monitor").format("{:20,.0f}").set_table_styles([{
    'selector': 'thead th',
    'props': [('text-align', 'center')]
}])
display(df1)

zxlwwiss

zxlwwiss1#

您可以在现有的color_negative_red上使用自定义函数:

def color_negative_red(val):
    try:
        if val < 0:
            color = 'red'
        elif val>0:
            color='green'
        return 'color: %s' % color
    except:
        return 'color: black'
    
def styler(df):
    style = df.applymap(color_negative_red)
    style.iloc[0, [0,2,4]] += '; font-weight: bold'
    return style

(df1.style.apply(styler, axis=None)
    .set_caption("Futures Risk Monitor")
    .format("{:20,.0f}")
    .set_table_styles([{'selector': 'thead th',
                        'props': [('text-align', 'center')]}])
)

字符串
输出量:


的数据

相关问题