如何通过每列的不同条件突出显示数据帧中的某些单元格?是否也可以突出显示系列中的某个数字?

2024-04-19 03:43:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python,在突出显示数据帧中的某些单元格时遇到了一个严重的问题(我真的不知道如何解决)。 我向你表示我的怀疑: 我有两个矩阵,它们的形状都一样。 其中一个矩阵由0/1构成,另一个矩阵有十进制数。 我会突出显示由十进制数字构成的矩阵中的元素,但矩阵上的条件是0/1。例如:如果在由0/1构成的矩阵中,我有一个带1的单元格,那么我会突出显示另一个矩阵中的相同单元格(例如:在我的矩阵中,你可以看到,在第一个单元格中,我有1,所以我会突出显示另一个矩阵中的第一个单元格矩阵(0.000034))。 我真的不知道该怎么写

我还想把我的数据框分成单列,然后一列一列地处理,然后把所有的列放在一起,也许会更容易些?但是…我没有发现如何突出显示一个系列中的某些元素,因为笔记本告诉我该系列没有属性“apply”(当我写“Series.style.applyect”时)。可能吗

谢谢你的帮助

结果=pd.DataFrame({'First':[1,1,1,1,1,…],'Second':[1,1,1,0,1,…],'Third':[0,0,0,0,…],'Fourth':[1,1,1,1,…])

数值=pd数据帧({'One':[0.000034,0.000043,0.000023,0.000055,0.000034,…],'Two':[0.000011,0.000087,0.000045,0.000065,0.000024,…],'Three':[0.000054,0.000022,0.000024…],'Four':[0.000011,0.000025,0.000053,0.000036,0.000026,…]))


Tags: 数据元素dataframe属性style笔记本矩阵数字
1条回答
网友
1楼 · 发布于 2024-04-19 03:43:04
import pandas as pd
df = pd.DataFrame([[2,3,1], [3,2,2], [2,4,4]], columns=list("ABC"))
df_mask = pd.DataFrame([[1,0,1], [0,0,0], [0,1,1]], columns=list("ABC"))


def highlight_mask(df, df_mask, color='yellow'):
    '''
    highlight the cells with df_mask.
    '''
    df_mask.replace(1, 'background-color: {}'.format(color), inplace=True)
    df_mask.replace(0, '', inplace=True)
    return df_mask


df.style.apply(highlight_mask, df_mask=df_mask, color='red', axis = None)

相关问题 更多 >