将样式化的 pandas 数据框导出到 Excel

2024-02-14

我正在尝试使用以下脚本将时尚的数据框导出到 Excel 文件:

  import pandas as pd
  import numpy as np

  np.random.seed(24)
  df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
  df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), 
  columns=list('BCDE'))],axis=1)
  df.iloc[0, 2] = np.nan

  def highlight_greater(x):
      r = 'red'
      g = 'gray'

      m1 = x['B'] > x['C']
      m2 = x['D'] > x['E']

      df1 = pd.DataFrame('background-color: ', index=x.index, columns=x.columns)
      #rewrite values by boolean masks
      df1['B'] = np.where(m1, 'background-color: {}'.format(r), df1['B'])
      df1['D'] = np.where(m2, 'background-color: {}'.format(g), df1['D'])
      return df1

  df.style.apply(highlight_greater, axis=None).to_excel('df.xlsx', engine='openpyxl')

它工作得很好,但是当我打开文件时,如果条件不匹配,背景就会变成黑色,有解决这个问题的想法吗?


您可以创建DataFrame函数中用空值填充:

def highlight_greater(x):
    r = 'red'
    g = 'gray'

    m1 = x['B'] > x['C']
    m2 = x['D'] > x['E']

    #if not match return empty string
    df1 = pd.DataFrame('', index=x.index, columns=x.columns)
    #rewrite values by boolean masks
    df1['B'] = np.where(m1, 'background-color: {}'.format(r), df1['B'])
    df1['D'] = np.where(m2, 'background-color: {}'.format(g), df1['D'])
    return df1

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

将样式化的 pandas 数据框导出到 Excel 的相关文章

随机推荐

  • 应用 Angular2 ngModel 后格式化输入值

    我正在尝试创建一个指令 将输入值格式化为货币格式 我能够在焦点和模糊上做我必须做的事情 并且在 ngOnInit 钩子 和任何其他钩子 中 输入元素尚未应用任何值 如何 监视 输入的值 并在应用初始值时对其进行格式化 这是我的指令 impo
  • CloudFormation:模板 RDS Mysql 以创建数据库、表、用户或加载架构

    我正在尝试使用 CloudFormation 找出一些用例 第一种情况是拥有现有的 AWS RDS MySQL 服务器 如何通过 CloudFormation 模板创建数据库 表和用户帐户 在查看了 Cloudformation 文档之后
  • VB.NET 中的 GoTo 语句和替代语句

    我在另一个论坛上发布了一个代码片段寻求帮助 人们向我指出使用GoTo语句是非常糟糕的编程习惯 我想知道 为什么会不好呢 有什么替代方案GoTo在 VB NET 中是否可以使用通常被认为是更好的实践 考虑下面的这个片段 用户必须输入他们的出生
  • Pylab - “模块”对象没有属性“图”

    我正在尝试使用 Tkinter 创建视图 因此我也使用 pylab 我的问题是我收到一条错误消息 属性错误 模块 对象没有属性 图 错误来自这行代码 self fig FigureCanvasTkAgg pylab figure maste
  • 加载 hazelcast 的所有实现

    我正在尝试在多个节点上使用 hazelcast 服务器 我已经在地图存储实现中实现了全部加载 我想知道这是否应该只在服务器节点上启用还是在所有节点上启用 如果我在所有节点上部署相同的内容 这是否不会创建不需要的数据库读取操作 如果我需要仅在
  • 弹出到根视图控制器,表视图不会发生动画崩溃

    我在标签栏控制器中有 3 个视图控制器 单击任何选项卡都会在导航堆栈中加载其根视图控制器 例如选项卡 1 选项卡 2 和选项卡 3 导航堆栈中的第二个视图控制器 tab2VC2 有一个 tableView 单击 tab2 在 tab2 中显
  • Django 可以与 py2exe 一起使用吗?

    我们想为大众市场创建一个 Django Intranet 应用程序 我们只需要支持 Windows 用户 并且 Windows 管理员 或 技术用户 需要非常轻松地进行部署 请记住 大多数 Windows 管理员 用户对 Python 等缺
  • 如果“else”无论如何都会发生,是否应该声明? [复制]

    这个问题在这里已经有答案了 可能的重复 在不需要的情况下应该保留还是删除 else https stackoverflow com questions 3533779 should else be kept or dropped in ca
  • 是否有一种 Objective-C 特定方法来计算整数中的位数

    我想计算 Objective c 中 32 位整数中设置为 1 的位 有些语言将其作为单个调用 Java 有 Integer bitCount C 有时有 popcount SQL 有 BIT COUNT Objective C 有等效的吗
  • Servlet 对 AJAX 请求的响应为空

    我正在使用 javascript 向 servlet 发送 AJAX 请求 Servlet 确实正在回复 但响应标头为空 响应文本也为空 当我尝试使用相同的客户端代码将请求发送到 php 页面时 它工作正常 这是两个客户端 您可以尝试它们并
  • 如何解析隐藏的输入值

    我在这里或谷歌上找不到与解析隐藏输入值相关的任何内容 例如这里的这段代码 我正在尝试解析 40 个字符的密钥
  • Hadoop分区器

    我想问一下Hadoop分区器 它是在Mappers中实现的吗 如何衡量使用默认哈希分区器的性能 是否有更好的分区器来减少数据偏差 Thanks 分区器不在映射器内 以下是每个映射器中发生的过程 每个映射任务将其输出写入循环缓冲存储器 而不是
  • MYSQL - 从不同数据库中选择

    如何从两个不同的数据库中将同一查询中的数据选择到同一服务器中 这就是我正在做的事情 但我的查询不起作用 sqlquery SELECT FROM database 2 table 2 WHERE database 1 table 1 dat
  • 使用 MPNowPlayingInfoCenter 处理 CarPlay 中的播放事件

    我正在尝试构建一个带有 CarPlay 集成的示例音频应用程序 该应用程序是一个测试项目 没有 API 没有流媒体 没有复杂的 UI 只是一个简短的歌曲名称列表 具有选择歌曲并播放的功能 我的目标是在 正在播放 屏幕上按下播放按钮时处理回调
  • Java接口是抽象类吗? [复制]

    这个问题在这里已经有答案了 我正在做一些家庭作业 之前试卷上的一个问题要求命名给定 UML 图中的所有抽象类 我想相当简单 有1个抽象类和3个接口 一般来说 这些接口是否符合抽象类的资格 问题是 虽然从技术上讲 接口可以在 Java 等语言
  • 如何阻止 Linux 初始化 USB HID 设备

    我有一个 USB HID 设备 可以在两种不同的模式下工作 模式的选择基于发送给它的 USB 枚举 初始化数据包的顺序 我使用的是运行 Raspbian 的 Raspberry Pi 3 但是如果我为桌面 Ubuntu 发行版编译代码 我也
  • 模板通过 const 引用传递

    我已经看过一些类似的问题 但我仍然很困惑 我正在想办法明确地 不是通过编译器优化等 和 C 03 兼容 避免在将对象传递给对象时复制对象专门模板功能 这是我的测试代码 include
  • Java - 为什么我不能使用 charAt() 来查看一个 char 是否等于另一个?

    我想查看字符串中的字符是否等于某个其他字符值 但我不知道字符串中的字符是什么 所以我使用了这个 if fieldNames charAt 4 f 但我收到错误 Operator cannot be applied to char jav l
  • viewDidDisappear 没有在 UINavigationController 上被调用

    我的导航控制器有问题 如果我将视图控制器添加到堆栈中 void tui ToggleListStudy id sender listVC ListViewController alloc init self navigationContro
  • 将样式化的 pandas 数据框导出到 Excel

    我正在尝试使用以下脚本将时尚的数据框导出到 Excel 文件 import pandas as pd import numpy as np np random seed 24 df pd DataFrame A np linspace 1