首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在实际中突出显示某些表行?

如何在实际中突出显示某些表行?
EN

Stack Overflow用户
提问于 2022-11-02 10:55:48
回答 1查看 43关注 0票数 1

在数据集中的表中,我需要高亮显示列BuildingFloorTeams中包含"All“的行。

我的代码:

代码语言:javascript
运行
复制
headerColor = 'darkgrey'
rowEvenColor = 'lightgrey'
rowOddColor = 'white'

fig_occ_fl_team = go.Figure(data=[go.Table(
  header=dict(
    values=list(final_table_occ_fl_team.columns),
    line_color='black',
    fill_color=headerColor,
    align=['left','left','left','left','left','left','left','left','left','left'],
    font=dict(color='black', size=9)
  ),
  cells=dict(
    values=[final_table_occ_fl_team['Building'], 
            final_table_occ_fl_team['Floor'], 
            final_table_occ_fl_team['Team'], 
            final_table_occ_fl_team['Number of Desks'], 
            final_table_occ_fl_team['Avg Occu (#)'], 
            final_table_occ_fl_team['Avg Occu (%)'], 
            final_table_occ_fl_team['Avg Occu 10-4 (#)'], 
            final_table_occ_fl_team['Avg Occu 10-4 (%)'], 
            final_table_occ_fl_team['Max Occu (#)'], 
            final_table_occ_fl_team['Max Occu (%)'], 
           ],
    line_color='black',
    # 2-D list of colors for alternating rows
    fill_color = [[rowOddColor,rowEvenColor]*56],
    align = ['left','left','left','left','left','left','left','left','left','left'],
    font = dict(color = 'black', size = 7)
    ))
])

fig_occ_fl_team.show()

数据集头:

代码语言:javascript
运行
复制
data = {'Building': {0: 'All',
  1: '1LWP',
  2: '1LWP',
  3: '1LWP',
  4: '1LWP',
  5: '1LWP',
  6: '1LWP',
  7: '1LWP',
  8: '1LWP',
  9: '1LWP'},
 'Floor': {0: 'All',
  1: 'All',
  2: '2nd',
  3: '2nd',
  4: '2nd',
  5: '2nd',
  6: '2nd',
  7: '2nd',
  8: '2nd',
  9: '2nd'},
 'Team': {0: 'All',
  1: 'All',
  2: 'All',
  3: 'Anderson/Money',
  4: 'Banking & Treasury',
  5: 'Charities',
  6: 'Client Management',
  7: 'Compliance, Legal & Risk',
  8: 'DFM',
  9: 'Emmerson'},
 'Number of Desks': {0: 2297,
  1: 2008,
  2: 381,
  3: 22,
  4: 8,
  5: 19,
  6: 9,
  7: 41,
  8: 20,
  9: 33},
 'Avg Occu (#)': {0: 1261,
  1: 1126,
  2: 195,
  3: 14,
  4: 4,
  5: 9,
  6: 5,
  7: 21,
  8: 13,
  9: 18},
 'Avg Occu (%)': {0: '55%',
  1: '56%',
  2: '51%',
  3: '64%',
  4: '50%',
  5: '48%',
  6: '56%',
  7: '52%',
  8: '65%',
  9: '55%'},
 'Avg Occu 10-4 (#)': {0: 851,
  1: 759,
  2: 132,
  3: 8,
  4: 3,
  5: 6,
  6: 3,
  7: 14,
  8: 9,
  9: 12},
 'Avg Occu 10-4 (%)': {0: '37%',
  1: '38%',
  2: '35%',
  3: '37%',
  4: '38%',
  5: '32%',
  6: '34%',
  7: '35%',
  8: '45%',
  9: '37%'},
 'Max Occu (#)': {0: 1901,
  1: 1680,
  2: 274,
  3: 22,
  4: 6,
  5: 13,
  6: 7,
  7: 27,
  8: 17,
  9: 25},
 'Max Occu (%)': {0: '83%',
  1: '84%',
  2: '72%',
  3: '100%',
  4: '75%',
  5: '69%',
  6: '78%',
  7: '66%',
  8: '85%',
  9: '76%'}}
EN

回答 1

Stack Overflow用户

发布于 2022-11-02 16:48:53

在创建表之前,可以将粗体样式添加到dataframe中,如下所示:

代码语言:javascript
运行
复制
import pandas as pd

df = pd.DataFrame().from_dict(data)

indices = df.index[(df[["Building","Floor","Team"]] == "All").all(1)]

for i in indices:
    for j in range(len(df.columns)):
        df.iloc[i,j] = "<b>{}</b>".format(df.iloc[i,j])

现在可以创建表,我将字体的大小增加到12:

代码语言:javascript
运行
复制
import plotly.graph_objects as go

headerColor = 'darkgrey'
rowEvenColor = 'lightgrey'
rowOddColor = 'white'

fig_occ_fl_team = go.Figure(data=[go.Table(
  header=dict(
    values=list(df.columns),
    line_color='black',
    fill_color=headerColor,
    align=['left','left','left','left','left','left','left','left','left','left'],
    font=dict(color='black', size=9)
  ),
  cells=dict(
    values=[df['Building'], 
            df['Floor'], 
            df['Team'], 
            df['Number of Desks'], 
            df['Avg Occu (#)'], 
            df['Avg Occu (%)'], 
            df['Avg Occu 10-4 (#)'], 
            df['Avg Occu 10-4 (%)'], 
            df['Max Occu (#)'], 
            df['Max Occu (%)'], 
           ],
    line_color='black',
    # 2-D list of colors for alternating rows
    fill_color = [[rowOddColor,rowEvenColor]*56],
    align = ['left','left','left','left','left','left','left','left','left','left'],
    font = dict(color = 'black', size = 12)
    ))
])

fig_occ_fl_team.show()

输出:

您将注意到第一列和第四列都是粗体。如果要保持原始数据不变,可以使用这样的df2 = df1.copy()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74288062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档