Pandas 风格:在整行上绘制边框,包括多索引

2023-12-13

我在 jupyter 笔记本中使用 pandas 样式来强调此数据框中子组之间的边界:

(从技术上讲:在每个更改的多重索引处绘制边框,但忽略最低级别)

# some sample df with multiindex
res = np.repeat(["response1","response2","response3","response4"], 4)
mod = ["model1", "model2","model3","model4"]*len(res)
data = np.random.randint(0,50,size=len(mod))
df = pd.DataFrame(zip(res,mod,data), columns=["res","mod","data"])
df.set_index(["res","mod"], inplace=True)

# set borders at individual frequency
indices_with_borders = range(0,len(df), len(np.unique(mod)))
df.style.set_properties(subset=(df.index[indices_with_borders], df.columns), **{
                      'border-width': '1px', "border-top-style":"solid"}) 

Result:

enter image description here

现在看起来有点傻,边框只绘制在列上,而不是一直贯穿多重索引。这将是一种更令人愉悦的风格:

enter image description here

有谁知道如何/是否可以实现? 提前致谢!


s = df.style
for l0 in ['response1', 'response2', 'response3', 'response4']:
    s.set_table_styles({(l0, 'model4'): [{'selector': '', 'props': 'border-bottom: 3px solid red;'}],
                        (l0, 'model1'): [{'selector': '.level0', 'props': 'border-bottom: 3px solid green'}]},
                      overwrite=False, axis=1)
s

由于多索引会稀疏并跨越行,因此您需要稍微小心地控制行类。这有点痛苦,但它满足了你的需要......

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 风格:在整行上绘制边框,包括多索引 的相关文章

  • 编辑 scikit-learn 决策树

    我想编辑 sklearn DecisionTree 例如改变条件或切割节点 叶子等 但似乎没有功能可以做到这一点 如果我可以导出到文件 编辑它以导入 如何编辑决策树 环境 Windows 10 python3 3 sklearn 0 17
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • Python的reduce()短路了吗?

    If I do result reduce operator and False 1000 得到第一个结果后它会停止吗 自从False anything False 相似地 result reduce operator or True 10
  • 为什么在 Windows 中使用 GetConsoleScreenBufferInfoEx 时控制台窗口会缩小?

    我正在尝试使用 GetConsoleScreenBufferInfoEx 和 SetConsoleScreenBufferInfoEx 设置 Windows 命令行控制台的背景和前景色 我正在 Python 中使用 wintypes 进行此
  • 为什么导入 pdb 时出现此错误? “模块”对象没有属性“ascii_letters”

    尝试调试我的代码 我正在导入库pdb import sys from subprocess import check call import pdb functions if name main Code 我收到此错误 File reg p
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip
  • html 解析器 python

    我正在尝试解析一个网站 我正在使用 HTMLParser 模块 问题是我想解析第一个 a href 评论后 但我真的不知道该怎么做 所以我在文档中发现有一个函数叫做handle comment 但我还没有找到如何正确使用它 我有以下内容 i
  • 错误:无法访问文件“$libdir/plpython2”:没有这样的文件或目录

    我正在运行 postgresql 9 4 PostgreSQL 9 4 4 on x86 64 unknown linux gnu compiled by gcc GCC 4 1 2 20070626 Red Hat 4 1 2 14 64
  • 一行Python和SQLite代码,为什么需要加“,”? [复制]

    这个问题在这里已经有答案了 c execute INSERT INTO numbers VALUES random randint 0 100 如果我将上面的代码更改为 c execute INSERT INTO numbers VALUE
  • 在 matplotlib 中使用 yscale('log') 时缺少误差线

    在某些情况下 当使用对数刻度时 matplotlib 会错误地显示带有误差条的图 假设这些数据 例如在 pylab 内 s 19 0 20 0 21 0 22 0 24 0 v 36 5 66 814250000000001 130 177
  • pip 安装软件包两次

    不幸的是我无法重现它 但我们已经见过几次了 pip 将一个软件包安装两次 如果卸载第一个 第二个就会可见并且也可以被卸载 我的问题 如果一个包安装了两次 如何用 python 检查 背景 我想编写一个测试来检查这一点 devOp Updat
  • 参数验证,Python 中的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 让我们举一个 API 的例子 def get abs directory self path if os path isdir path ret
  • 如何检查列表是否为空?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 例如 如果通过以下内容 a 我如何检查是否a是空的 if not a print Lis
  • 如何获得没有前缀的虚拟人物?

    我想从两个不同的列中获取虚拟数据 但没有任何前缀 资料说明 X Y 123 AAA 456 BBB 123 AAA 789 CCC 预期结果 X Y 789 456 123 CCC BBB AAA 123 AAA 0 0 1 0 0 1 4
  • 如何在 Python 中从 HTML 页面中提取 URL [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须用Python 编写一个网络爬
  • smooth_idf 是多余的吗?

    The scikit learn 文档 http scikit learn org stable modules generated sklearn feature extraction text TfidfTransformer html
  • 如何向 SCons 构建添加预处理和后处理操作?

    我正在尝试在使用 SCons 构建项目时添加预处理和后处理操作 SConstruct 和 SConscript 文件位于项目的顶部 预处理动作 生成代码 通过调用不同的工具 gt 不知道在此预处理之后将生成的确切文件 可以创建用于决定生成哪
  • Jupyter Notebook:没有名为 pandas 的模块

    我搜索了其他问题 但没有找到任何有帮助的内容 大多数只是建议您使用 conda 或 pip 安装 pandas 在我的 jupyter 笔记本中 我试图导入 pandas import pandas as pd 但我收到以下错误 Modul
  • SQLAlchemy:避免声明式样式类定义中的重复

    我正在使用 SQLAlchemy 并且我的对象模型中的许多类具有相同的两个属性 id 和 整数和主键 以及名称 字符串 我试图避免在每个类中声明它们 如下所示 class C1 declarative base id Column Inte
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D

随机推荐

  • 如何在 GRid 视图的一列中显示两个属性 asp.net C#

    我有类 Person 有两个属性名字和姓氏 如果我将人员数组设置为 GridView 的数据源 如何在一列中显示名字和姓氏 Thanx 使用模板字段和 Eval 方法
  • 尽情玩耍!框架

    我们正在计划一个主要为移动应用程序提供内容的项目 但需要有一个网站 我的问题是 使用 Jersey 或 Restlet 为我们的移动应用程序开发 REST API 然后使用 Play 是否有意义 为网站提供服务 或者直接使用 Play 是否
  • 如何使用 iCloud 同步我的 sqlite 数据库和驻留在应用程序库文件夹中的文件夹中的图像

    我的要求是 我正在开发的应用程序在驻留在应用程序文件夹中的 Library 文件夹中创建一个名为 Private docmunets 的文件夹 该文件夹中有图像和一个 sqlite 文件 用于记录用户条目和图像 我必须启用我的应用程序 iC
  • 使用套接字进行 TCP 连接返回错误结果

    这是我用来扫描端口是否打开的代码 https stackoverflow com a 8957053 2203703 有人可以尝试修复它吗 似乎无法正常工作 即使端口关闭 代码也总是返回 成功连接 这是我用端口 80 测试过的 IP 列表
  • glutBitmapCharacter 位置文本错误

    我正在尝试在屏幕上绘制一个简单的字符串 覆盖 根据我在互联网上找到的信息 我是这样使用的 void write string text int x int y glRasterPos2i x y for int i 0 i lt text
  • R Bioconductor 安装错误 - 以“< DOCTYPE html PUBLI ...”开头的行格式错误

    我在 R 中安装 bioconductor 包时遇到问题 这是在 MacOSX 上 全新安装 R 2 15 并使用 bioconductor 1 4 4 文字记录如下 gt source http bioconductor org bioc
  • 自 Rails3 升级以来对空 params[] 哈希进行故障排除

    我有一个命名路由 可以在控制台中正确测试并显示应该包含在 params 中的 url title 但 params 始终为空 问题是 为什么 params 为空 我的期望是它应该有 params url title 我还删除了这条路线并使用
  • 致命:需要一次修改

    我的仓库有 3 次提交 我想压缩为一 I ran git rebase i HEAD 3并得到这个错误 fatal Needed a single revision invalid upstream HEAD 3 我能够跑git rebas
  • 创建一个包含 R 中多个矩阵的平均值的矩阵[重复]

    这个问题在这里已经有答案了 我有多个具有相同尺寸的矩阵 如下所示 gt A x y z 1 2 4 3 2 1 5 7 gt B x y z 1 4 3 3 2 1 8 7 gt C x y z 1 4 3 3 2 1 8 7 gt 如何创
  • VBA listobject不会添加行

    我有一个带有几张表的工作表 每张表都有两个表 listobjects 我还有一个用户窗体 允许用户在表中添加 编辑 删除行 这些表是静态的 这意味着它们永远存在并且永远不会被删除 它们位于同一位置并且永远不会移动 我还以不同的方式 通过索引
  • 分层抽样 - 观察不足

    我想要实现的是从每组中获取 10 的样本 这是 2 个因素的组合 新近度和频率类别 到目前为止我已经考虑过包裹sampling和功能strata 这看起来很有希望 但我收到以下错误 并且很难理解错误消息以及错误所在或如何解决此问题 这是我的
  • 如何卸载新 WooCommerce 2.3.x 加载的 select2 脚本/样式?

    我们是主题开发人员 我们已经使用 select2 http select2 github io 我们的 WordPress 主题中 HTML 中的 SELECT 框的脚本 刚刚发布的新 WooCommerce 2 3 x 现在也使用 sel
  • MSChart / Asp.net 图表不显示工具提示

    我有一个仪表板页面 我在其中使用各种 MSCharts 我为每个图表定义了一个类 当我运行每个图表类并定义其系列属性时 我在该图表中定义系列的工具提示 如下所示 Series 0 ToolTip Date VALX d nTotal Qty
  • ICommand CanExecuteChanged 未更新

    我正在尝试 MVVM 模式基础级别 并对 ICommand CanExecute 更改感到震惊 我的 XAML 绑定如下
  • 调整图像亮度

    对于 Windows Phone 应用程序 当我通过滑块调整亮度时 它工作正常 将其移至右侧 但是当我回到之前的位置时 图像不是变暗 而是变得越来越亮 这是我基于像素操作的代码 private void slider1 ValueChang
  • SQL / MySQL - 按列长度排序

    在 MySQL 中 有没有办法按列的长度 字符 对结果进行排序 例如 myColumn lor lorem lorem ip lorem ips lorem ipsum 我想首先按最小的列长度 lor 对结果进行排序 然后以最大的列长度 l
  • 为什么析构函数挂起

    下面的代码工作正常 但是 当我启用p b in GetValue 代码失败 调试断言失败 为什么 class A int p public A p nullptr A if p nullptr delete p void GetValue
  • 如何为 json 负载定义 swagger 注释

    如何为此示例定义 swagger 注释 API TenantConfiguration 作为 json 负载获取 Consumes application json application xml POST public Message c
  • 本地主机上跨子域的用户身份验证

    我正在我的本地主机上构建一个应用程序 当我通过一个子域 例如 sub localhost 登录时 我需要在应用程序的所有其他子域 例如 sub2 localhost sub3 localhost 中使用 Auth 访问该登录用户 我将其更改
  • Pandas 风格:在整行上绘制边框,包括多索引

    我在 jupyter 笔记本中使用 pandas 样式来强调此数据框中子组之间的边界 从技术上讲 在每个更改的多重索引处绘制边框 但忽略最低级别 some sample df with multiindex res np repeat re