如何在数据框样式之后/同时更改文本值?

CSM*_*ick 5 python styling pandas

我有一个数据框,并且使用以下代码进行样式设置,但只要满足条件,即红色。我想将值替换为 0。我使用了 applymap(function, subset=['col1','col2']) ,它返回样式数据帧,但我也需要替换这些值。

import pandas as pd
import numpy as np

def applystyle(value):
    if float(value) < 1.0:
        color = 'red'
    else:
        color = 'white'
    return 'background-color: %s; text:0;' % color

data =  pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
data.style.applymap(applystyle, subset=['C','A'])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Dev*_*rna 2

请尝试一下,我们可以使用样式对象中的数据属性替换值

#Store the style object in a variable
s=data.style.applymap(applystyle, subset=['C','A'])

#Check and replace the negative value
column=['A','C']
for cols in column:
    s.data[cols]=s.data[cols].apply(change_value)
s  # s will provide the dataframe with style and and modified data   

def change_value(data):
    if data<1.0:
       data=0
return data
Run Code Online (Sandbox Code Playgroud)